savoir exactement ce que je veux faire
L'entrée qui manque dans le sondage (trop évident peur-être) est : savoir exactement ce que je veux faire. Et donc commencer par l'écrire en français. Puis écrire en dessous les grandes étapes, puis les subdiviser en petites étapes, ajouter les détails essentiels (d'où je pars, où je vais). Quand cela est fait et stable, il est beaucoup plus facile de développer chaque ligne de commentaire en code (quelques dizaines de lignes max). Et il est aussi facile de maintenir le programme.
Rendre une procédure la plus universelle possible
Lorsque je développe un logiciel, je ressens toujours une grande satisfaction lorsque j'écris des procédures qui peuvent s'appliquer à presque n'importe quel logiciel. Bien sût cette universalité est relative au champ d'application. Par exemple une procédure pour la gestion de l'affichage à l'écran peut être utilisée dans n'importe quel logiciel dans les capacités limites de cet affichage. Les procédures souvent universelles sont des solutions mathématiques. Mais les procédures en lien avec la réalité humaine comme la gestion et l'administration sont plus difficiles à rendre universelles car il y a tellement de possibilités, et souvent on arrive pas à tout prévoir au moment de la conception. Quoiqu'il en soit, construire des procédures le plus universelles possibles est l'une des caractéristiques qui contribuent à faire de la programmation un outil puissant.