Esistono grandi libri di programmazione o di sviluppo software che sono indipendenti dalla lingua? Perché dovrei leggerlo?
Esistono grandi libri di programmazione o di sviluppo software che sono indipendenti dalla lingua? Perché dovrei leggerlo?
Risposte:
Il programmatore pragmatico: da Journeyman a Master - Andrew Hunt e David Thomas
Questo libro tratta di come scrivere codice che funziona ed è gestibile. Un concetto chiave è essere pratico. Tutto nel libro è ridotto a 70 suggerimenti facili da ricordare che ti aiutano a fornire software migliore e di qualità superiore.
Codice completo: un manuale pratico di costruzione di software di Steve McConnell
Questo libro è probabilmente il libro definitivo sulla costruzione di software. Discute argomenti come le basi della costruzione (requisiti, architettura e design), la scelta di un linguaggio di programmazione, la scelta di una metodologia di sviluppo, la progettazione di classi e oggetti, la scrittura di funzioni e metodi di alta qualità, la programmazione difensiva, l'uso e la denominazione delle variabili , tipi di dati, organizzazione e formattazione delle dichiarazioni, programmazione collaborativa, test, debug, refactoring e strumenti di sviluppo.
Questo è un must per tutti gli ingegneri del software, anche se non stai scrivendo esplicitamente codice.
Il mio preferito è: Struttura e interpretazione dei programmi per computer
È stato il mio primo libro di testo accademico 10 anni fa e mi fa ancora capire quanto sia rilevante nel predire le tendenze nell'ingegneria del software all'avanguardia e la programmazione in generale.
Usa LISP per i suoi esempi, ma non considero LISP alcun tipo di linguaggio, quindi è totalmente agnostico;)
Codice pulito - Robert Martin
The Mythical Man Month - Frederick P Brooks
Questo è un libro indispensabile per gli sviluppatori di software. La maggior parte dei tomi di sviluppo software parla di software di codifica, linguaggi di programmazione e le ultime tecnologie e tecniche per scrivere software.
In "The Mythical Man Month" - Brooks affronta un aspetto più fondamentale (IMO) dello sviluppo del software - l'aspetto sociale. Affronta i problemi affrontati in un grande progetto software, dal problema dell'aggiunta di persone, del secondo effetto di sistema e della necessità di un processo adeguato.
Questo libro tratta della programmazione dal punto di vista della sua trasformazione in una disciplina ingegneristica, qualcosa che può essere utilizzato per progettare un software ampio e complesso.
Modelli di design . Gli schemi sono in gran parte piegati a OOP, ma all'interno di OOP sono piuttosto applicabili a qualsiasi lingua.
Dovresti leggerlo perché ti renderà un designer migliore. Ti insegna buoni modi per risolvere i problemi di progettazione del sottosistema che potresti non aver capito fino a quando non progettavi sistemi da 40 anni. Sono soluzioni riutilizzabili a problemi semi-comuni. Detto questo, c'è un modello che i secondo anno attraversano quando imparano modelli di design a scuola:
Progettazione guidata dal dominio: affrontare la complessità nel cuore del software
Eric Evans
Molti concetti di alto livello, è un libro piuttosto avanzato che non consiglierei agli sviluppatori alle prime armi. Se stai lavorando a un progetto software su larga scala con molte interdipendenze, questo è un ottimo riferimento.
Sviluppo guidato dai test: dall'esempio di Kent Beck.
Una super introduzione a TDD. Mi ha fatto iniziare il percorso TDD. Gli esempi di codice sono Java, ma il materiale è altrimenti molto indipendente dal linguaggio.
Questi sono tutti libri che ho letto completamente o rileggere parti significative di alcune volte e sono ben messi insieme. Sono un nuovo arrivato nella programmazione nel suo insieme, quindi li ho usati per comprendere contestualmente cosa dovrei imparare a fare.
Oh per le cose del database