Dal momento che molte di queste risposte sembrano concentrarsi su team biggish, anche fin dall'inizio, inserirò la mia opinione come parte di un team di sviluppo di due uomini (tre se includi il designer) per l'avvio.
Ovviamente, i design e le soluzioni semplici sono i migliori, ma quando hai il ragazzo che paga letteralmente il tuo salario che respira al collo, non hai necessariamente il tempo di pensare alla soluzione più elegante, semplice e manutenibile. Con questo in mente, il mio primo grande punto è:
Documentazione Non commenti, il codice dovrebbe essere principalmente auto-documentante, ma cose come documenti di progettazione, gerarchie e dipendenze di classe, paradigmi architettonici, ecc. Tutto ciò che aiuta un programmatore nuovo, o persino esistente, a capire la base di codice. Inoltre, la documentazione di quelle strane pseudo-librerie che appaiono alla fine, come "aggiungi questa classe a un elemento per questa funzionalità" può essere d'aiuto, poiché impedisce anche alle persone di riscrivere la funzionalità.
Tuttavia, anche se hai un limite di tempo severo, trovo che un'altra cosa buona da tenere a mente è:
Evita gli hack e soluzioni rapide. A meno che la correzione rapida non sia la correzione effettiva, è sempre meglio capire il problema sottostante a qualcosa, e quindi correggerlo. A meno che tu non abbia letteralmente uno scenario "ottieni questo lavoro nei prossimi 2 minuti, o sei licenziato", fare ora la correzione è un'idea migliore, perché non hai intenzione di correggere il codice in un secondo momento, stai solo andando passa al prossimo compito che hai.
E il mio suggerimento preferito personale è più di una citazione, anche se non riesco a ricordare la fonte:
"Codice come se la persona che viene dopo di te è uno psicopatico omicida che sa dove vivi"