Beaucoup de développeurs expérimentés écrire du code que je déteste lire, donc il n'y a vraiment aucun moyen de déterminer si quelqu'un est bon, avec un rapide coup d'œil.
Les choses que je recherche, par ordre d'importance, sont:
- court fonctions (généralement de moins de dix lignes de long), chacun avec une seule mission claire et un nom descriptif
- évitez d'empiler trop profond ("trop profond" n'est pas bien définie, mais à plus de deux niveaux d'indentation est généralement un mauvais signe)
- bon noms de classes, des fonctions, des variables, etc.
- a facile à trouver "crochets" pour l'ajout de nouvelles fonctionnalités
- idiomatiques (Qui est, si c'est du C++, il semblerait que C++ doit regarder; si c'est la Java, il ressemble à Java.)
- fait bon usage de la bibliothèque standard/cadre (je n'aime pas voir les roues réinventé.)
- pas de superflu commentaires (qui sont la marque de quelqu'un qui ne peut pas vraiment penser dans le code)
- la bonne utilisation de l'espace (les lignes vides sont bons)
En adhérant à ces préférences ne garantit pas que la personne est un bon/développeur expérimenté, mais il me donne une bonne première impression. Quelqu'un qui prend soin d'obtenir ces choses n'a probablement beaucoup d'autres choses aussi.
Vous ne savez pas vraiment comment bien quelqu'un de code jusqu'à ce que vous essayez de le changer. J'ai vu du code, c'était vraiment laid qui, néanmoins, a été facilement maintenable, et j'ai vu assez de code qui ont dû être jetés et réécrit à partir de zéro. L'examen de code vous donne une bonne impression pour un programmeur de capacités tactiques, mais pas de capacités stratégiques.