Vous connaissez surment « Ce Projet »

J’écris souvent au sujet des réalités reliées au développement web. Par fois, j’exprime des opinions sur des sujets que je trouve importants ou des fois sur des concepts qui s’apparentent plus au gros bon sens.

smellEn arrondissant sommairement, cela fait presque dix ans que je travaille comme développeur. J’ai passé plus de la moitié de ce temps à faire du développement web. Cette expérience me permet d’affirmer la chose suivante : tout développeur a eu ou aura à travailler sur Ce Projet™.

Oui oui, Ce Projet.

Vous le savez. Il s’agit du projet que, dès l’instant où vous apprenez que vous aurez à y travailler, le regard des autres ne ment pas. Lentement mais sûrement, vous sentez ce sentiment de désespoir vous animer pour les semaines à venir.

Ce Projet où, lorsque vous commencez à travailler dessus, le collègue vous donne la directive suivante : « si tu touches à cette classe-là, viens me voir avant ».

Avec Ce Projet, il semble plus simple de dupliquer du code un peu partout que de s’attaquer au réusinage de code (aussi appelé refactoring. ha!) de la logique en question.

Lorsque vous êtes désespéré, vous tentez de retrouver le numéro de téléphone ainsi que l’adresse de résidence du développeur de l’application afin de lui livrer une correction qui saura se souvenir longtemps.

S’il est question code smell, vous vous dites que, dans ce cas, Ce Projet doit être en décomposition avancée.

Une chose est certaine. Par manque de temps et de budget, l’état de délabrement de Ce Projet ne s’améliorera pas.

Il y a plusieurs facteurs qui font en sorte qu’un projet est difficile à maintenir. Il se peut que le code en place, par la nature du problème à résoudre, soit complexe. Cela peut être aussi expliqué par des délais de livraison qui ont été écourtés. Que, par extension, la qualité en a aussi été affectée !

Peu importe la nature du problème qui affecte votre application, il faut savoir que la dette technique est le phénomène sous-jacent. Une dette technique est comme son équivalent financier. Elle aura tendance à prendre plus d’ampleur si elle n’est pas régulièrement remboursée.

Dans tous les cas, je lève mon clavier bien haut à tous ceux qui ont entre leurs mains Ce Projet. Votre patience et votre santé sont mises régulièrement à dure épreuve. Vous vous dites que vous y avez goûté plus d’une tasse ces derniers temps. Dites-vous que vous n’êtes pas seuls ;)

Des tabulations dans ton code? Tu devrais dire non, merci.

Dans le développement logiciel, il y a de ces débats qui suscitent des réactions très fortes auprès des développeurs. Certains d’entre nous sont fortement attachés à une façon de développer ou de travailler en particulier. Dès qu’une divergence survient, nous assistons à une montée des barricades.

Rapidement, j’ai dénoté quelques exemples :

Le débat de ceux qui ne se terminent jamais est l’utilisation des tabulations versus les espaces. Depuis qu’il est possible d’insérer une tabulation à partir de votre clavier, le débat existe.

Au début des temps, l’utilisation de la tabulation était une façon simpliste de compresser le contenu des fichiers texte. Sur un terminal Unix, une tabulation équivalait à huit espaces. Le ratio de compression était relativement intéressant et à coût faible.

Les années ont passé et l’interprétation du symbole ASCII de la tabulation a changé avec le temps et l’aspect de l’économie d’espace disque est, disons-le, moins important sur nos ordinateurs modernes.

Après tout, que sera votre premier réflexe lorsque vous serez à court d’espace disque? Supprimer quelques fichiers inutilisés ou convertir les tabulations en espaces dans vos fichiers texte bruts? Autres temps, autres mœurs, comme ils disent.

L’utilisation de tabulations dans du code devrait être à éviter à tout prix. À ce jour, son utilisation est, à mon avis, l’effet d’une tolérance molle et d’une proximité facile sur le clavier. La tabulation est tout juste à côté de la lettre Q (lorsqu’il est en mode QWERTY).

Pour un développeur .NET, Visual Studio n’est pas très rigide sur l’utilisation des tabulations ou des espaces dans le code. À mon avis, la principale raison de cela est que, lorsqu’un groupe de développeurs travaillent dans un environnement uniforme, le débat se pose un peu moins.

Un bout de code en mal de vivre en raison des tabulations
Un bout de code en mal de vivre en raison des tabulations et des espaces

Il est vrai que l’irritation est à son apogée lorsque les développeurs proviennent d’un environnement mixte et à travers différentes plateformes. Je me souviens d’avoir eu à argumenter, avec un professeur, à propos d’un travail remis alors que j’avais programmé celui-ci avec un IDE sous Linux alors que lui le corrigeait sous Windows.

Le résultat visuel était catastrophique. Les deux éditeurs n’utilisaient pas la même configuration d’indentation par tabulations. Heureusement, j’avais été en mesure de faire prévaloir mon point auprès de ce professeur.

Prendre action

La seule façon d’enrayer cette situation est de prendre action, et d’établir avec vos camarades développeur un standard de développement où vous établirez des règles communes pour le maintien de votre code. L’utilisation des espaces plutôt que des tabulations doit y figurer. Un consensus doit être établi.

Si vous êtes plus du genre à prendre action sur-le-champ, voici comment vous pouvez y arriver selon votre éditeur ou votre IDE.

Visual Studio

  1. Visitez l’écran de configuration situé sous Outils > Options > Éditeur texte > Tous les langages > Tabulations.
  2. Cochez l’option « Insérer des espaces ».

Sublime Text

  1. Visiter le menu Preferences > Setting – User
  2. Ajouter la ligne « translate_tabs_to_spaces »: true

Notepad++

  1. Visiter l’écran de configuration situé sous Settings > Preferences > Tab Settings.
  2. Selon le langage sélectionné, cocher l’option « Replace by space ».

Mes trucs pour réduire le stress

La journée commence. Vous avez trois livrables hautement importants à livrer qui sont en retard.Le voilier solitaire.

Pouf! Après un appel téléphonique ou deux, il est déjà l’heure du dîner.

Au retour du dîner, un site à haute visibilité est actuellement hors ligne et il faut mettre les bouchées doubles afin de le remettre sur les rails.

Une rencontre plus tard, il est déjà 17h. Tout juste à temps pour aller à la garderie récupérer la marmaille.

Est-ce que cela ressemble à une sorte de caricature de votre journée, en tant que développeur? De près ou de loin, j’imagine que vous avez déjà expérimenté cette situation-là pendant une période plus ou moins longue. Ces situations vont en résulter en une réaction à la fois physique ou psychologique appelée le stress.

Une exposition trop longue à un stress de façon continue peut générer une multitude de réactions chez l’humain. En particulier, il est question d’anxiété des réactions musculaires et même la dépression. Pour mener une vie saine, il faut apprendre à bien gérer son stress afin de laisser une chance à son cerveau de retrouver un état de calme afin de repartir une journée du bon pied.

Activité physique

Dépenser de l’énergie suite à une journée de travail ou avant de la commencer est la meilleure façon de se libérer la tête. Cela est encore plus d’actualité depuis que notre mode de vie s’est énormément sédentarisé.

Le corps humain a quand même été conçu il y a environ 200 000 années. À une époque où la télévision et le iPhone n’existaient pas. C’était aussi l’époque où l’espèce était plus en danger qu’à la nôtre. Ce que je veux dire c’est que nous sommes pourvus d’un système physique permettant de chasser le mammouth pour nourrir notre famille alors qu’on végète sur le divan à regarder ses actualités Facebook.

Durant les sept dernières années, j’ai joué au hockey cosom une ou deux fois par semaine. Ce n’était pas assez à mon goût pour arriver à mes fins. Depuis maintenant quelques mois, je me suis initié à la course à pied. Je sors courir environ quatre fois par semaine. Généralement, le matin avant d’aller travailler. Je vous le dis, c’est une excellente façon de partir sa journée

Occuper le temps libre

L’ennui est le pire des ennemis pour une personne qui se sent stressée. En fait, c’est lorsque vous ne faites rien que les pensées préoccupantes générant du stress ou de l’angoisse vont arriver vous tourmenter.

L’effet est bien simple. Il faut trouver des activités pour s’occuper l’esprit. Moi, c’est ce blogue, car l’écriture m’occupe quelques heures par semaine. Mon exemple en est un parmi tant d’autres. Vous pouvez avoir un projet de construction, lire un livre, ou même faire du bénévolat si cela vous anime. L’essentiel est d’avoir quelque chose à faire.

Décrocher du travail

Il n’y a pas que le travail dans la vie. Il s’agit d’un détail important à se souvenir. Votre supérieur ne vous aimera pas moins pour autant, sachez-le.

Je sais qu’il n’est pas facile de décrocher du travail. Une multitude de situations vont faire que vous aurez des pensées pour vos projets professionnels en cours. Toutefois, dans la mesure du possible, il faut tenter de décrocher de ces situations. Cela se fait en combinaison avec le point précédent notamment.

D’ailleurs, considérez cela sous cet angle. Le principal gain à décrocher des préoccupations du bureau est que vous vous donnerez du recul sur celles-ci. Ce recul va assurément vous donner la perspective nécessaire pour revenir à la charge avec plus de vigueur. Pensez-y!

Le sommeil

Lorsqu’il est temps de penser à la réduction du stress, un sommeil de qualité doit être prioritaire.

Tout le monde a des besoins de sommeil différents. Il n’y a pas de règle applicable à tous. Ceci étant dit, un être humain devrait espérer dormir environ six à huit heures de sommeil par nuit afin d’être pleinement reposé.

Dans cette optique, il est impératif de trouver une routine vous permettant d’atteindre le sommeil dans un délai raisonnable. Pour tomber endormi rapidement, la technologie est bien souvent le pire ennemi. Au moins 30 minutes avant d’aller au lit, le téléphone portable ou l’ordinateur ne devrait pas être utilisé. Vous ne trouverez pas votre sommeil sur internet, n’est-ce pas?

L’ordinateur a l’effet pervers de stimuler votre système nerveux. Repensez à l’homme préhistorique qui chassait le mammouth. Lui, il n’avait pas internet pour se divertir. Lorsque le soleil était couché… il dormait!

Ma vie de programmeur, en images – partie II

Ce billet a aussi été présenté sur le blogue d’Absolunet

La vie d’un développeur web est une histoire où tout peut se raconter à l’aide du proverbe « Une image vaut mille mots ». Dans mon cas, j’illustre ces anecdotes à l’aide d’une sélection d’images animées.

C’est avec un énorme plaisir que je présente la deuxième édition des billets de cette série. Vous pouvez aussi aller consulter le premier ici.

N’hésitez pas à partager vos propres aventures imagées dans les commentaires!

Lorsque je regarde le site d’un ancien client, réalisé par un compétiteur

judgment

« Je te le dis que ça fonctionnait tantôt »

cat-computer

Lorsque j’accomplis une tâche qui n’est pas du développement (ex: CSS, Design), avec brio

dog-walk

Lorsqu’un client accepte du premier coup ma proposition de changements

tumblr_m2cpq1vecn1rttrtuo1_400[1]

Lorsqu’un collègue arrive avec une nouvelle paire de lunettes, au bureau

googly-eyes

Lorsqu’un coéquipier m’aide à diagnostiquer un bogue impossible à résoudre

friends-fights

L’impression que j’ai à chaque fois que je tape avec un clavier dans un mode Azerty.

camel-majestic

Après une excellente évaluation de performance annuelle

love-to-rake

Quand j’ai appris que Google Reader allait fermer

sad-story

À chaque fois que j’ai recours à une solution risquée, sans succès

sweet-trick

Ce que je pense qu’a en tête mon gestionnaire lorsque je suis emballé par une solution technique pour mon prochain sprint

3rd-world-james-bond

Note : Dans le cas où des images ne se sont pas affichées correctement, rafraîchissez (F5) le contenu de celle-ci.