Quel est l'ordre correct pour lire ces livres? [fermé]

25

Je suis développeur junior C #, j'ai appris à la maison et maintenant j'ai mon premier job :)

Je veux acheter ces livres. Mais quel est l'ordre correct pour lire ces livres?

Code complet: un manuel pratique de construction de logiciels

Code propre: un manuel de l'artisanat logiciel Agile

Programmeur pragmatique

Tarek Saied
la source
6
Il n'y a pas d'ordre correct (comme l'a dit @Oded). Vous les lirez probablement (ou au moins des parties d'entre eux) encore et encore. Alors choisissez-en un, cassez la couverture et
digérez
8
La sagesse conventionnelle dit que vous devez commencer à la première page et terminer à la dernière page. ;)
vaughandroid
1
Je ne vois aucune raison de voter contre.
mmdemirbas
+1 à une bonne sélection de bons livres pour de nouvelles améliorations
EL Yusubov
En voici une autre que vous pourriez souhaiter (beaucoup la considèrent comme la bible C # .NET): Pro C # 2010 et la plate-forme .NET 4, cinquième édition (ils pourraient même en avoir un pour .NET 5 et VS 2012 bientôt).
Linuxios

Réponses:

44

Il n'y a pas d'ordre "correct" pour lire ces livres.

Ils se concentrent chacun sur différents aspects du génie logiciel.

  • Clean Code - se concentre sur le codage dans les petits. Comment écrire des classes et des fonctions.
  • Code Complete - se concentre sur les processus de génie logiciel.
  • Programmeur pragmatique - se concentre sur le travail au sein d'une équipe de production de logiciels.
Oded
la source
7
@Downvoter - vous voulez commenter?
Oded
12

Félicitations pour votre premier emploi! Et vous avez vraiment fait de bons choix de livres!

Ces livres sont des pièces maîtresses que chaque programmeur doit lire au moins une fois.

D'après mon expérience personnelle, je conseillerais de lire des livres de manière interchangeable . C'est un fait que vous pouvez vous fatiguer / vous ennuyer d'un livre, et passer à un livre connexe vous fera vous reconcentrer et derrière la scène, votre cerveau démarrera pour traiter les informations. Ainsi, vous pouvez profiter au maximum de ce processus.

Edit: comme mentionné dans le commentaire, c'est une sorte de solution multi-thread pour additionner en efficacité :)

Cependant, ne vous surchauffez pas. Avoir plus de 3 livres peut être difficile à traiter en même temps.

EL Yusubov
la source
8
Je trouve amusant que la solution d'un programmeur à un problème réel consiste à implémenter le multithreading :)
Rotem
@Rotem - La raison en est simple et ressemble beaucoup à une expression régulière. Une fois que vous avez commencé une telle tâche, vos problèmes réels commencent à paraître beaucoup moins sérieux ;-),
Joris Timmermans
4

Je suis d'accord avec les réponses "pas de bon ordre", mais je proposerai un spin différent ...

Démarrez et digérez complètement le code terminé . C'est le livre de base le plus basique et le plus complet. Passez beaucoup de temps à le lire et à le relire. Il devrait vous donner le plus de retours si vous êtes débutant.

Richard Morgan
la source
2

Je n'ai lu que "Clean Code", et c'était très bien. Oncle Bob vous explique comment devenir un bon artisan logiciel et comment écrire du code propre qui peut être maintenu même pendant des années. Vous devriez donc peut-être lire ce livre en premier :-) (j'aurais aimé l'avoir lu plus tôt).

Si vous souhaitez obtenir une vue plus grande (sur les dépendances entre les modules), je peux également recommander ses conversions de code: http://www.cleancoders.com/

habakuk
la source
1

J'ai lu Pragmatic Programmer et je suis en train de lire "Code Complete".

D'après mon expérience jusqu'à présent, je pense que "Pragmatic Programmer" est un excellent point de départ car il donne une vue d'ensemble des différents problèmes de codage. Je l'ai lu au cours d'une semaine; en le lisant, j'ai immédiatement été informé de meilleures façons de résoudre les problèmes que je traite quotidiennement.

"Code Complete" est plus long et plus exhaustif.

Biscuits à la farine de riz
la source
1

Je lis aussi ces livres, voici ma commande:

  1. Code propre
  2. Programmeur pragmatique
  3. Code terminé
Homero Barbosa
la source
Merci d'avoir publié votre première réponse sur Programmers Stack Exchange. Je ne sais pas pourquoi vous avez voté contre celui-ci, mais il se peut que l'électeur qui a voté pour la liste non seulement cherche une liste, mais aussi une justification. Si vous ne l'avez pas déjà fait, veuillez lire la FAQ, qui comprend des conseils pour poser des questions et donner des réponses et est récompensée par un badge programmers.stackexchange.com/faq . Bonne chance dans votre future participation à l'échange de pile. J'espère que vous le trouverez instructif et gratifiant.
DeveloperDon
0

Ces livres ont un grand mérite.

Souvent, les développeurs entrent dans le travail en sachant surtout quoi sans trop de détails sur pourquoi . Les trois livres que vous avez choisis offrent beaucoup pour améliorer ce que vous faites en tant que programmeur et sont bons pour fournir des descriptions pour sauvegarder leurs prescriptions .

La lecture de ces livres vous ouvrira à de nombreuses idées que vous n'auriez jamais imaginées. Plus tard, au fur et à mesure que vous acquérez de l'expérience, vous tirerez encore plus de ces livres, en reliant ce que vous avez vu à ce qu'ils décrivent.

Ensemble, ces livres totalisent plus de 1500 pages. C'est beaucoup de lecture, et vous avez raison de prioriser et de tracer une séquence. Je vous suggère de télécharger la table des matières pour les trois et de marquer les chapitres dans chacun selon ce dont vous avez le plus besoin maintenant pour votre travail. Vous pouvez comparer et contraster leurs conseils sur le nommage des variables et des classes, mais je pense que si vous lisez une fois sur le nommage, ce serait suffisant. De même, si votre équipe ou votre responsable a des directives, suivez-les.

Vous pouvez peut-être les emprunter à un ami ou à une bibliothèque avant de les acheter. Ou peut-être même passer quelques heures dans votre librairie locale. Si vous chronométrez votre lecture, parcourez les trois en fonction de vos priorités, prenez des notes sur une feuille de papier vierge, vous trouverez du vocabulaire et des concepts que vous pouvez appliquer au travail aujourd'hui.

Pragmatique est une excellente description de l'approche d'apprentissage que vous souhaitez utiliser lorsque vous utilisez ces livres. Il y a beaucoup de chevauchement entre les trois, et je pense que beaucoup a été revisité dans les sources accessibles sur le Web. Il y a beaucoup de choses dont vous pourriez avoir besoin, qui ne figurent pas dans ces livres ou qui sont à peine abordées. Pensez à ajouter d'autres sujets qui dépassent le cadre de ces livres:

  • Tutoriels en langage de programmation.
  • Outils de contrôle des sources et de génération spécifiques à vos organisations
  • Concepts et implémentations de structures de données en C #.
  • Bibliothèques de classes C # standard.
  • Normes de codage spécifiques à votre organisation.
  • Test, probablement avec les outils MS Test.
  • Consignes de conception UI / UX pour vos plateformes.
  • Modèles de conception applicables qui, pour C #, je m'attendrais à ce que MVVM soit le plus critique.

Je pense qu'une autre considération pourrait aider à considérer la date de publication, le contexte et les objectifs de chaque livre. Du plus ancien au plus récent: Pragmatic 1999, Code Complete 2nd Ed. 2004, Clean Code 2008. Contexte: Pragmatique répertorie C, C ++, Java dans son index mais pas C #. Le code complet est Microsoft Press, écrit par un ancien gars de Microsoft, et parce que vous travaillez avec un langage Microsoft, il peut y avoir une certaine affinité, mais l'index a une entrée pour C # et il reçoit moins d'amour que Fortran à la page 64.

Le livre de Robert Martin est plus imprégné de l'approche Agile que les deux autres, est le plus récent et a de très bonnes descriptions de nommage, de conception de classe et probablement beaucoup plus d'aide avec la concurrence que les autres. Cela peut être un peu injuste, mais les livres ultérieurs peuvent parler de plus de choses et de choses plus récentes, et leur contexte est généralement plus semblable à ce que nous faisons aujourd'hui.

Chacun de ces livres, dans une certaine mesure, est en concurrence dans une gamme similaire de sujets. Cela vous incite à vous demander: "Quels livres de programmation plus récents et à large portée sont en concurrence dans le même espace?"

DeveloperDon
la source