Rester dans le flux
(… ou , pourquoi je suis devenu obsédé par la programmation à fichier unique et vous devriez aussi)
Le gros mensonge qu'on nous dit, à l'école et encore en début de carrière, c'est qu'être « bon » en programmation consiste à résoudre des problèmes de plus en plus difficiles d'une manière plus élégante. La vérité est beaucoup plus banale - être bon en programmation consiste à résoudre efficacement un large éventail de problèmes pour la plupart triviaux, rapidement et proprement. Ce qui EST vrai, cependant, c'est à quel point «l'état de flux» est précieux pour faire cela. Pouvoir rester immergé dans le travail vous permet de passer rapidement d'un domaine à l'autre, en suivant le flux d'état de l'utilisateur à la logique métier jusqu'au magasin de données, et vice-versa.
De nombreuses « bonnes » pratiques de programmation ajoutent de la complexité :
- Séparez les modèles, les vues et les contrôleurs.
- Conservez tous vos tests dans des fichiers et dossiers parallèles.
- N'utilisez pas de CSS en ligne - conservez-le dans une hiérarchie de fichiers CSS séparés, référencés par classe et ID.
- N'ÉCRIVEZ même pas de CSS - utilisez un préprocesseur et générez-le à partir d'un langage intermédiaire.
- Utilisez des espaces de noms imbriqués de packages et de modules, chacun avec ses propres conventions standard pour nommer thin_gs.
De la même manière que les échelles d'enquête sont tracées par rapport à la capacité de discrimination de l'humain moyen (généralement 5 à 7 choix, jamais plus de 9), les cadres qui reposent sur moins de fichiers, de moins de types et organisés dans une hiérarchie aussi plate que possible sont plus simples à maîtriser pour les nouveaux développeurs et plus faciles pour TOUT LE MONDE de rester en état de flux lorsqu'ils travaillent dessus.
Les « bons » programmeurs adorent dénigrer PHP et javascript comme étant de « mauvais » langages ; pourtant, les deux se distinguent par la prise en charge de modèles simples «à fichier unique». Javascript le fait via JSX ; PHP permet simplement à chaque script php de contenir également du code HTML arbitraire. J'ai décidé de recréer la joie du développement Single-File, mais pour Python. Nous espérons que cela comblera les lacunes évidentes entre les communautés de science des données python "Notebook", les communautés de développeurs de logiciels "Boot Camp" et les premières lignes du développement d'applications Web.
Au cours des prochains articles de blog, je parlerai de bon nombre des «mauvaises» pratiques que j'ai adoptées pour simplifier et rationaliser mon expérience de développement. Encore mieux, j'annoncerai les différentes bibliothèques open source que j'ai découvertes, étendues ou développées en cours de route.