Notice
Avoid Null Checks
- document 1 document 2 document 3
- niveau 1 niveau 2 niveau 3
Descriptif
Dans cette séquence, nous allons parler de la campagne anti if, et en particulier pourquoi est-ce que renvoyer nul et tester nul n'est pas terrible.
Intervention / Responsable scientifique
Thème
Documentation
ERRATUM
Slide 2 : lire [animal quack] à la place de [duck quack] (cf. correct slide below)

Dans la même collection
- 
Reflection: Stack as an ObjectCassouDamienDucasseStéphaneFabresseLucCe cours va traiter d'un sujet avancé. Ce que je voudrais vous montrer c'est comment à la demande, on peut transformer la pile d'exécution en un objet Pharo et le manipuler. L'idée de ce cours n'est 
- 
Advanced Points on ClassesCassouDamienDucasseStéphaneFabresseLucDans cette séquence, nous allons voir quelques points avancés sur les classes. 3 points, notamment comment on va partager de l'état entre plusieurs instances d'une même classe et de ses sous-classes. 
- 
[Live] Spotter 5: Search in Playground HistoryCassouDamienDucasseStéphaneFabresseLucUne autre fonctionnalité de playground qui est sympa c'est que vous pouvez chercher dans vos morceaux de code... 
- 
Reflective Operations for Live ProgrammingCassouDamienDucasseStéphaneFabresseLucDans cette séquence, on va voir quelque chose d'un petit peu avancé en Pharo que sont les opérations réflexives qui permettent de supporter le live programming, le développement interactif qu'on 
- 
A Journey in Pharo: A Bright FutureCassouDamienDucasseStéphaneFabresseLucVoici le dernier cours de ce voyage initiatique au sein de Pharo, et je vais conclure un petit peu l'ensemble des cours. Donc ce qui est important de voir c'est que votre plus grand effort est fini. 
- 
Variable Size ObjectsCassouDamienDucasseStéphaneFabresseLucDans ce cours on va aborder un point qui n'est pas souvent abordé dans les cours de Pharo qui sont : Comment est-ce qu'on définit des objets de taille variable ? 
- 
[Live] GTInspector 3: Understand Pharo Internals by InspectionCassouDamienDucasseStéphaneFabresseLucDans cette vidéo, j'aimerais vous montrer un petit peu comment on peut utiliser l'inspecteur pour naviguer et comprendre l'intérieur du système... 
- 
DoesNotUnderstand: a Precious HookCassouDamienDucasseStéphaneFabresseLucAlors dans cette séquence, on va voir quelque chose d'extrêmement intéressant et important en Pharo, qui est le does not understand. Donc en fait j'imagine que vous avez déjà eu des débuggers qui sont 
- 
[Live] Spotter 4: The Preview paneCassouDamienDucasseStéphaneFabresseLucJ'aimerais vous montrer quelques petites astuces dans Spotter, donc prenons Spotter. 
- 
Understanding MetaclassesCassouDamienDucasseStéphaneFabresseLucDonc ce cours c'est un cours vraiment avancé. Alors on va ouvrir le capot de Pharo et on va aller voir comment les classes, et toutes les relations d'instances entre classes sont gérées, donc c'est 
Avec les mêmes intervenants et intervenantes
- 
[Live] : Learn Pharo with Prof StefCassouDamienDucasseStéphaneFabresseLucDans cette vidéo, j'aimerais vous présenter un outil bien cool qui va vous permettre d'apprendre un peu de Pharo par vous-même. Il s'appelle ProfStef. Donc comment est-ce qu'on lance ProfStef ? On 
- 
YourselfCassouDamienDucasseStéphaneFabresseLucDans cette séquence nous allons découvrir la méthode Yourself, qui a priori ne sert à rien et qui est pourtant extrêmement utile. 
- 
A Simple HTTP ApplicationCassouDamienDucasseStéphaneFabresseLucAlors dans cette séquence on va revisiter la syntaxe Pharo, c'est-à-dire qu'on va la revoir quasiment entièrement sur un exemple concret, l'exemple d'une l'application toute simple: http donc issue du 
- 
[Redo] Coding a Little Domain Specific LanguageCassouDamienDucasseStéphaneFabresseLucCette vidéo est un Redo pour le MOOC. Re-do dans le sens où on vous demande de le refaire, de suivre la vidéo et pas à pas de le refaire. C'est aussi une invitation à regarder comment on code. Donc 
- 
Seaside: a Glance at MetaData and RESTCassouDamienDucasseStéphaneFabresseLucBienvenue dans ce cours. Là, ce que je vais vous montrer c'est 2 aspects, je ne vais pas aller en profondeur dedans, de toute façon vous allez les faire lors des exercices avec Tiny blog. C'est, qu 
- 
Powerful Exceptions: an OverviewCassouDamienDucasseStéphaneFabresseLucDonc pendant ce cours je vous montrer les exceptions. Elles sont assez puissantes dans Pharo, je vais faire un survol. Qu'est-ce qu'on peut faire avec des exceptions? On peut les résumer, les 
- 
[Live] Learning the DebuggerCassouDamienDucasseStéphaneFabresseLucDans cette vidéo, j'aimerais vous expliquer comment marche le debugger et comment vous pouvez vous en servir pour identifier des bugs, et exécuter des expressions, interagir avec les objets. 
- 
Runtime ArchitectureCassouDamienDucasseStéphaneFabresseLucDans ce cours, j'aimerais aborder avec vous comment l'exécution de Pharo fonctionne et quelles sortes comment l'exécution de Pharo fonctionne et quelles sortes Parce que pour le moment, vous avez dû 
- 
Variable Size ObjectsCassouDamienDucasseStéphaneFabresseLucDans ce cours on va aborder un point qui n'est pas souvent abordé dans les cours de Pharo qui sont : Comment est-ce qu'on définit des objets de taille variable ? 
- 
[Live] GTInspector 3: Understand Pharo Internals by InspectionCassouDamienDucasseStéphaneFabresseLucDans cette vidéo, j'aimerais vous montrer un petit peu comment on peut utiliser l'inspecteur pour naviguer et comprendre l'intérieur du système... 
- 
[Live] : Selecting and executing expressionsCassouDamienDucasseStéphaneFabresseLucJe voudrais vous montrer des astuces pour être plus efficace, lorsque vous voulez sélectionner une expression pour l'exécuter. Donc imaginons qu'on ait cette expression sur 3 lignes.Si je veux 
- 
Stream OverviewCassouDamienDucasseStéphaneFabresseLucDans cette séquence nous allons parler de la bibliothèque de Stream qui est fournie de base avec Pharo. Nous verrons ce que sont les streams et comment les utiliser, et dans quels cas ils peuvent être 
 
 
 
 


![[Live] Spotter 5: Search in Playground History](https://vod.canal-u.tv/videos/media/images/fuscia/.live.spotter.4.the.preview.pane.copie._33157/vignette.jpg)



![[Live] GTInspector 3: Understand Pharo Internals by Inspection](https://vod.canal-u.tv/videos/media/images/fuscia/.live.spotter.4.the.preview.pane.copie._33159/vignette.jpg)

![[Live] Spotter 4: The Preview pane](https://vod.canal-u.tv/videos/media/images/fuscia/.live.spotter.4.the.preview.pane_33155/vignette.jpg)

![[Live] : Learn Pharo with Prof Stef](https://vod.canal-u.tv/videos/media/images/fuscia/.live.learn.pharo.with.prof.stef_32715/vignette.jpg)


![[Redo] Coding a Little Domain Specific Language](https://vod.canal-u.tv/videos/media/images/fuscia/.redo.coding.a.little.domain.specific.language_33011/vignette.jpg)

![[Live] Learning the Debugger](https://vod.canal-u.tv/videos/media/images/fuscia/.live.spotter.3.scoping.and.reducing.search.copie._33105/vignette.jpg)

![[Live] : Selecting and executing expressions](https://vod.canal-u.tv/videos/media/images/fuscia/.lives.selecting.and.executing.expressions_32713/vignette.jpg)
