Je dirais que dans l'ensemble, c'est quelque chose qui vient avec le temps et l'expérience, mais vous constaterez peut-être que si vous travaillez avec des langues plus laconiques, vous ramenez cette qualité à vos langues de travail habituelles.
Certes, après un an ou deux de travail avec Ruby, j'ai trouvé que mon C # était beaucoup plus tendu. Je pense que si je devais mieux comprendre la programmation fonctionnelle (une ambition permanente), j'en prendrais probablement plus.
Il existe également quelques directives qui peuvent vous aider, par exemple si vous écrivez les deux mêmes lignes plus d'une fois en les divisant en leur propre méthode. C'est une ligne directrice simple, mais qui réduit rapidement les lignes de code et la programmation couper-coller, dont la plupart d'entre nous sont coupables de temps en temps.
Si vous comprenez l'héritage, vous pouvez souvent économiser sur la répétition du même code à différents endroits en donnant des fonctionnalités communes aux classes parentes. C'est évident en principe mais quelque chose que les gens manquent souvent dans la pratique.
Il peut y avoir une différence entre écrire moins de code et avoir moins de code dans votre application - parfois, vous pouvez utiliser la génération de code pour éviter d'avoir à vous répéter, vous n'écrivez que quelques lignes de code, mais celles-ci génèrent alors beaucoup d'autres codes pour vous - cela peut vous donner beaucoup de poids. Regardez ce qu'un outil comme Rails ou Entity Framework fait à cet égard pour comprendre à quel point il peut être utile. Soyez clair quant à la nécessité de cela et réfléchissez à deux fois, trois fois puis quatre fois à la génération de votre propre code - cela peut vous faire tomber dans l'enfer YAGNI.
Comprenez votre langage, votre API et vos outils. Encore une fois, cela semble évident, mais au fil des années, j'ai écrit tellement de code que j'ai réalisé plus tard que je reproduisais des fonctionnalités que j'aurais pu hériter de l'API ou utiliser une fonctionnalité de langage pour simplifier, ce qui m'a permis de réaliser que quelques heures de lecture sur la documentation de l'API avec laquelle je travaille me fera gagner de nombreuses heures de codage ou de débogage plus tard. De même, la plupart des plates-formes avec lesquelles vous travaillez ont un grain - apprenez à travailler comme elles l'attendent et votre vie sera beaucoup plus facile. Passez un peu de temps à trouver la direction de la moindre résistance pour la plate-forme avec laquelle vous travaillez et vous obtiendrez des résultats bien meilleurs.
Si vous vous demandez s'il existe une meilleure façon de faire quelque chose, il y en a probablement et cela vaut toujours la peine de découvrir comment mieux faire les choses.