Pourquoi coder, c'est comme la spéléologie et savoir si cela peut vous aider • WPShout

By | mai 11, 2019

tuto wordpress

Cet article utilise l’analogie suivante: «Le codage, c’est comme de la spéléologie», pour expliquer ce qu’est le codage, ce qui n’est pas, à qui il est destiné et comment y parvenir.

Mon esprit fonctionne selon des analogies, et c’est une question qui me préoccupe depuis quelques mois, jusqu’au point où j’ai eu besoin de l’écrire.

Ok, on y va: Coder, c'est comme de la spéléologie.

Cet article s’appuie sur cette analogie pour expliquer ce qu’est le codage, ce qui n’est pas, à qui il est destiné et comment y parvenir.

Bien sûr, je ne peux pas parler au nom de toute la population des programmeurs d’ordinateurs, mais j’ai une profonde impression des points suivants dans le monde WordPress. Voici comment cet article peut vous être utile en fonction de votre rôle dans WordPress:

  • Développeurs WordPress: Donnez-vous une bonne chose à parler lors de votre prochaine rencontre. Rassurez-vous que vous êtes dans la bonne ligne de travail.
  • Assembleurs / réalisateurs WordPress et futurs développeurs WordPress: aidez-vous à comprendre si le fait de se pencher plus profondément dans le codage vous convient et ce à quoi vous attendre lorsque vous vous penchez.
  • Utilisateurs, clients et autres utilisateurs de WordPress: savoir ce qu’il faut rechercher dans un codeur ou un développeur.

Soit dit en passant, le codage est aussi appelé «spéléologie». Aussi beau que soit le mot, je pense que j'en aurais marre de l'écrire, aussi utilisons-nous maintenant «spéléo».

Qu'est-ce que le codage? ne pas Comme: Surf

Lorsque vous voyez le codage à la télévision et dans les films, cela semble généralement plutôt cool. Les codeurs sont presque toujours des «hackers» (pas ceux qui ont écrit le logiciel, en premier lieu), et ils passent leur temps à faire des zooms sur des IU étranges, à trouver des backdoors et des exploits, à fermer des systèmes de défense laser, etc.

(Aimez-vous davantage l’auto-parodie involontaire que la parodie réelle? Voici un extrait d’un film réel.)

Nous savons tous que les films ne sont pas réels, mais j’ai découvert qu’un malentendu lié à ce qu’un codeur Est-ce que a vraiment faussé ma perception du codage pendant assez longtemps.

Ce que je pensais que les codeurs font

Je pensais que les codeurs travaillaient par:

  • Penser en brèves éclairs et en inspiration.
  • Connaître le raccourci secret. Mon génie des hack backdoor fera en dix lignes ce que d’autres codeurs font en dix mille.
  • Libérer des possibilités cachées avec une connaissance et un talent irrésistibles. Écartez-vous et laissez un véritable expert se lancer dans les affaires. Nous coderons cela en Haskell.

C’est ce que j’appelle le «modèle de codage du surfeur»: le codage est une question de style, de rapidité, de grâce, de talent, de spontanéité et d’improvisation.

modèle de codage surfeur

Que ferait un bon codeur (si le modèle Surfer était réel)

Voulez-vous être un bon codeur? Dans le modèle Surfer, venez avec beaucoup de:

  • Outils et astuces obscurs. Vous devriez connaître la porte dérobée secrète à tout problème.
  • Des sauts d'inspiration soudaine. Tout le code faisait cela mais attends il ya une façon beaucoup plus cool.
  • Talent brut. Vous êtes simplement le type le plus intelligent dans une pièce et c’est ce qui fait de vous le codeur le plus en vogue.

Il s’avère que le codage de type surfer n’existe pas, du moins pas à ma connaissance. Cela n’existe certainement pas dans le développement WordPress.

Peut-être parce que en utilisant La technologie est flashy, facile et cool, il est facile de supposer que l'écriture la technologie est flashy, facile et cool. Nan.

Comment la fiction irrésistible de Surfer-Style Coding a-t-elle pu exister? Ma théorie est que peut-être parce que en utilisant La technologie est flashy, facile et cool, il est facile de supposer que l'écriture la technologie est flashy, facile et cool. Nan.

Voici à quoi ressemble le codage.

À quoi ressemble le codage: Spéléologie

Voici à quoi ressemblent les codeurs:

modèle de codage spéléo

Et, parce que vous pouvez trouver n'importe quoi sur Internet:

spéléo modèle de portable de codage

Le nom que je donnerai à tous les codages que j’ai réellement vus dans le monde réel – même des trucs incroyablement cool comme des gens incroyablement talentueux – est Caver-Style Coding.

Ce que font réellement les codeurs

S'engager dans un projet de codage s'apparente beaucoup à se préparer à entrer dans une grotte. Voici ce que font les codeurs de style Caver (ou, si vous préférez, de vrais) dans leur travail réel.

  • Faire un plan. Pesez les décisions difficiles entre plusieurs itinéraires possibles vers un objectif, puis développez une feuille de route globale qui guidera l'ensemble du projet.
  • Configurez plusieurs systèmes de sécurité (contrôle de version, tests automatisés, etc.) qui les intercepteront en cas d'imprévu.
  • Obtenez et restez organisé. Rien au hasard, tout est cohérent et pour une raison.
  • Faites un pas à la fois, en vérifiant à chaque étape que leurs systèmes de sécurité donnent la réponse attendue.
  • Laissez une trace claire pour qu'ils sachent toujours où ils ont été, où ils vont et pourquoi.
  • Quand quelque chose d'inattendu se produit (attendez, ce chemin doit descendre, pas monter…), comprenez en profondeur pourquoi c'est arrivé. Abordez ensuite la cause fondamentale, pas seulement le problème immédiat.
  • Si un itinéraire s'avère être bloqué, faites un retour en arrière aussi loin que nécessaire et planifiez un autre chemin à suivre.

Ce qui fait un bon codeur dans le monde réel

Ce sont les traits de bons codeurs du monde réel. Ce n’est pas une idée personnelle, mais David incarne ces traits et est l’un des plus puissants codeurs que j’ai jamais rencontré.

  • Clair et systématique en pensant. Des éclairs d'inspiration aléatoires sont fondamentalement sans importance. Ce qui compte en réalité, c’est de développer une compréhension claire de chaque élément d’un système complexe: son fonctionnement, son fonctionnement et son interaction avec les autres éléments.
  • Cohérence. Possibilité de définir des conventions et de les suivre exactement de la même manière à chaque fois: codage, syntaxe, commentaire, flux de travail, etc.
  • Diligence. Prendre plaisir à avancer de manière mesurée et constante – marcher et parfois même ramper, ne pas sauter, sauter, voler ou surfer – vers un objectif établi.

Donc, c'est du codage.

La récompense

Vous avez donc progressé sur le ventre pendant une heure et demie. Quelle est la récompense?

codage de la géode de la grotte

En raison de votre planification claire, de votre cohérence et de votre diligence, vous vous êtes rendu dans un endroit tout simplement inaccessible à d’autres personnes – des personnes qui ne élaborent pas de plan et ne le mettent pas en œuvre, pas à pas et petit à petit.

Les récompenses correspondent exactement à ce que vous aviez prévu au début du projet, mais d’autre part, elles pourraient être étonnamment impressionnantes une fois que vous y êtes réellement.

Bien sûr, il est maintenant temps de revenir petit à petit (le code fonctionne en staging, le client souhaite maintenant le déployer sur le serveur Windows de son sous-sol). Heureusement, vous avez un plan pour cela.

Être coincé

Tout comme la spéléologie, le côté non amusant du codage est dominé par une expérience très spécifique: rester bloqué.

Tout comme la spéléologie, le côté non amusant du codage est dominé par une expérience très spécifique: rester bloqué.

Il existe de nombreuses vidéos sur YouTube de personnes coincées dans des grottes. Je les regarde de temps en temps et je lis les commentaires (qui sont essentiellement «NOPE» et «Pourquoi?») Pour s’assurer que je suis toujours sain d’esprit, et que c’est les gens des caves qui sont fous.

Le fait est que vous êtes coincé dans un projet de codage, c'est à peu près ce que vous êtes: vous êtes au milieu d'un long voyage et vous avez des endroits à visiter, mais vous vous êtes retrouvé dans une situation où vous ne pouvez pas avancez et vous ne pouvez pas revenir en arrière.

Les personnes dans la vidéo ci-dessus ont au moins des compagnons, une lumière et une corde: voir ci-dessous la nature de ces éléments pour un codeur. Ne pas avoir ces choses, c'est souvent ce que c'est que d'être bloqué seul, sans plan, sur un projet de codage difficile, c'est comme (bien que généralement sans crainte pour votre vie).

Comment ne pas se coincer

Les meilleures façons de ne pas rester bloqué sont exactement les pratiques décrites dans «Ce que font réellement les codeurs» ci-dessus. Ce sont des choses comme:

  • Établissez un plan. Dans la mesure du possible, vous devriez toujours connaître votre cheminement à travers le problème et savoir où vous vous trouvez.
  • Utilisez des systèmes de sécurité, tels que les tests automatisés et le contrôle de version. Vous devriez toujours savoir ce qui vous a amené à ce point et être capable de retourner là où vous étiez. Réal bloqué commence lorsque ces choses ne sont pas le cas en raison de la désorganisation.
  • Obtenez et conservez une clarté sur chaque étape du système, une par une, par exemple grâce à des pratiques de codage cohérentes et à des commentaires réfléchis sur votre propre code.

Néanmoins, la réalité est qu’il ya des surprises sur tout projet de codage.

Comment faire pour rester coincé quand vous êtes

Tout comme être coincé dans la noirceur, à un quart de mille de la lumière du jour et à 150 pieds sous terre, il est préférable de s’en tenir au milieu d’un projet de codage avec un ensemble très spécifique de réponses, dont la plupart, pour être des plus utiles, devraient être: depuis le début.

Amène un ami

C'est le plus gros. Ne reste pas coincé seul. Si vous êtes coincé et que vous n’avez pas emmené d’ami, vous pouvez crier à l’aide (sur Upwork, dans votre groupe de rencontres). Assurez-vous d’introduire la grotte aussi bien que possible afin que les conseils de vos amis puissent vous aider.

Retracez vos pas

Si la grotte a l’air bizarre maintenant, êtes-vous sûr de ne pas avoir mal tourné en arrière? Revenez sur vos pas dans un endroit où vous avez confiance et avancez très lentement chaque étape à partir de là, testez au fur et à mesure.

Sortez la carte

Des questions comme «Comment faire en sorte que ce chemin monte au lieu de descendre?» Sont à peu près toujours les mauvaises, mais elles sont étonnamment courantes chez les codeurs bloqués et les clients qui les embauchent.

Vous n’avez pas besoin de solution miracle: vous devez mieux comprendre la situation dans son ensemble. En codage, cela signifie mieux comprendre les environnements logiciels, voire matériels, existants, les langages de codage, les définitions de fonctions et tout autre système susceptible d’affecter le comportement du code que vous consultez. Habituez-vous à lire beaucoup de documentation et à googler lourdement.

Vous ne pouvez pas lire la carte? (En d’autres termes: vous vous sentez absolument enfoui dans une information que vous ne savez pas quoi faire?) C’est là que les amis entrent, gratuits ou payants.

Ne faites pas de choses au hasard

Vous savez ce qui est ne pas va vous amener où vous devez être? Choses aléatoires. "Ce chemin de côté monte, et l'entrée de la grotte est également en haut!" Est exactement le genre de réflexion que vous ne devriez pas faire. C’est la véritable signification de «bidouille» et c’est une mauvaise chose.

Cave On

Les bons codeurs sont, finalement, artisans assidus et systématiques qui fait les choses comme il faut parce que c'est la bonne voie. Ils peuvent traverser des kilomètres dans l’obscurité, sans paniquer ni se perdre, car ils ont pris les mesures nécessaires pour comprendre exactement où ils se trouvent et où ils vont. Ils ne commencent pas non plus à improviser par impatience lorsque la cohérence est requise.

Le génie joue-t-il un rôle dans le codage? Ce que j'ai décrit ci-dessus est le génie: être capable de comprendre les systèmes si profondément que la prochaine étape pour les améliorer devient naturellement claire.

Mais si nous parlons, par exemple, de deviner le mot de passe d’une personne en multipliant mentalement les nombres à dix chiffres, alors non, le génie ne joue aucun rôle dans le codage. Certainement pas dans le développement WordPress. Il semble que vous recherchiez un codeur de type Surfer, qui n'existe que sur Internet, et non parmi les personnes qui l’ont construit.

Si tout cela vous convient, il y a de fortes chances que vous aimiez coder. Vous aimerez peut-être aussi la spéléologie, bien que vous ne me rattrapiez pas dans une de ces choses. Merci d'avoir lu!