+1 pour The Clean Coder/Coder proprement. Ce livre m’a profondément marqué. Les exemples sont tous en Java, mais les idées générales s’adaptent facilement à n’importe quelle programmation orientée objet.
À défaut de proposer un livre, je propose mon 1er livre qui m’a suivi pendant toutes mes études. ;-)
J’essaye de maintenir une liste à jour sur http://davidl.fr/books.html
J’ai lu l’intégralité de leur contenu et je met en avant les meilleurs
- Un indispensable pour comprendre que l’approche TDD va beaucoup plus moins que le simple unit Testing.
http://www.growing-object-oriented-software.com/
- Mon deuxieme indispensable est sur le design OO lui-meme. Sandi Metz ne livre pas ici des recettes de cuisine, mais un réelle démarche pour ecouter le probleme à résoudre, votre code existant, et découvrir ce dont vous avez besoin.
Les exemples sont en Ruby ce qui rend la lecture facile a tous.
Je recommande Bootstrapping Design qui réconcilie les développeurs et le web design. Il m’a donné les clés pour sauver les meubles les quelques fois où j’ai dû m’improviser designer.
Attention, the clean coder est différent de clean code/coder proprement.
Les deux sont à lire ceci dit :)
J’en est pas lu énormement. J’ai les livres cités précédemment, mais j’ai pas eut le temps de tout lire.
J’ai beaucoup aimé Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman notamment le chapitre sur la ceinture blanche, qui est aussi developpé dans le pragmatic programmer : «Il ne faut pas être pretentieux vis à vis d’un langage (ou autre techno) par l’experience acquise ailleurs et savoir se poser comme debutant pour apprendre correctement».
Et bien sur la série: The Architecture of Open Source Applications. Vraiment top! Je vais essayer de m’en inspirer pour mes prochain billet.
Oups, ça m’apprendras à aller trop vite :wink:
Je pense que tout développeur devrait avoir lu “97 things every programmer should know”. Beaucoup d’aspects du métier sont couverts (formation, qualité, carrière…). Très facile à lire (articles courts, très bien écrits). Le livre est dispo gratuitement sur internet, on ne pourra pas m’accuser de faire de la pub ;) : http://programmer.97things.oreilly.com/wiki/index.php/Contributions_Appearing_in_the_Book
Pour moi il faut aussi citer:
- “Introduction to algorithm” : http://mitpress.mit.edu/books/introduction-algorithms
- “refactoring” : http://martinfowler.com/books/refactoring.html
Une liste sympa de livres à lire : http://cspray.github.io/my.so-archive/100-most-influential-programming-books.html
+1 pour “Refactoring”, un des livres qui m’a le plus apporté dans ma pratique quotidienne.
De mon point de vue de dev front :
-
Ceux de Goetter pour les bases et pour aller plus loin
-
Responsive Web Design pour comprendre la théorie, sans technique
-
Les mementos Eyrolles pour les trous de mémoires
-
SMACSS : une méthodologie parmi tant d’autres
On peut penser aussi à structure and interpretation of computer programs
Head First Design Patterns - Une bible pour les problèmes de conception les plus courants, avec des exemples fun ! :)
Seul défaut, il est en anglais et les exemples sont en Java, mais personnellement, sans avoir jamais fait de Java de ma vie (je suis dev PHP), j’ai compris et appris énormément de choses.
Un extrait du bouquin en PDF est d’ailleurs dispo sur le site de l’éditeur :
C’est la bible du développement objet.
Un ouvrage que je recommande quand on doit travailler avec de nombreux systèmes Unix (pour ma part : Linux, OpenBSD, MacOS & Solaris jusqu’à présent) : “La programmation sous Unix” par J.M Rifflet.