PDA

View Full Version : Come programmate ?


Q_Q
09-07-2014, 17:07
Mi sto incasinando non poco solo per una dll quindi mi chiedo: come programmate ?
Pianificate prima su carta quello che dovete fare poi seguite quello e aggiornate i/il fogli/o?
Vi segnate quello che fate o usate i commenti nell'editor ?
Quanti schermi usate?
:stordita:

altermetax
09-07-2014, 18:40
Mi sto incasinando non poco solo per una dll quindi mi chiedo: come programmate ?
Pianificate prima su carta quello che dovete fare poi seguite quello e aggiornate i/il fogli/o?
Vi segnate quello che fate o usate i commenti nell'editor ?
Quanti schermi usate?
:stordita:

Io personalmente pianifico prima su carta (solo quando scrivo programmi complessi), poi metto i commenti al codice (ovviamente), per poi poterlo riutilizzare. Poi la terza domanda... :D :D Io uso un solo schermo, non c'è bisogno di averne tanti! Ovviamente mi farebbe comodo :cry: :D
Ciao!
altermetax

WarDuck
09-07-2014, 20:55
Anche io mi metto su carta per capire bene come si dovrebbe comportare il programma.

A quel punto mi entra in testa e poi codifico.

Metto i commenti solo se strettamente necessario, per far comprendere al lettore alcuni trick o le ragioni che ci sono dietro un pezzo di codice.

Non faccio mancare TODO e FIXME :D.

Schermo 1, più ciò che proietto nella mente :D.

Q_Q
09-07-2014, 23:53
Sto usando 3 schermi e mi sembrano pochi :mc:
Con i commenti nel codice sono un po' incasinato, scrivo troppo dove non devo e niente dove magari serve (poi mi ritrovo a rileggere tutto il codice) :doh:
Ora provo su carta e tento di migliorare le linee commentate :fagiano:

Freaxxx
10-07-2014, 01:42
non arriverai da nessuna parte, stai facendo il triplo lavoro per nulla.

pianifica, sfrutta gli idiomi, i pattern, e progetta la tua classe, progetta lo "scheletro" delle classi o funzioni di una certa famiglia, magari funzioni che gestiscono risorse esterne le progetti in un certo modo e funzioni dedicate alla computazione in un altro.

Studia il tuo editor, e se non hai un editor decente procuratene uno, uno come Vim, Sublimetext, QtCreator ( che offre anche una modalità Vim compatibile ) etc etc ... studia le shortcut da tastiera, le regex, controlla che non ci sia già un plugin che faccia al caso tuo.

Impara ad usare un sistema di generazione come cmake o simili, cerca di scrivere meno cose e tenere il tuo codice compatto, codice verboso non è quasi mai un buon segno, specialmente nei punti critici come gli if e i cicli for.

Infine impara ad usare la libreria standard del tuo linguaggio, molta gente finisce per scrivere codice astruso e difficile anche solo da studiare per un nuovo arrivato solo per ordinare un array o un vettore, probabilmente nella libreria standard ci sono funzioni e metodi per almeno la metà di quello che devi fare.

vbextreme
10-07-2014, 06:56
Rigorosamente creo prima un bel diagramma con DIA ma si può usare il software che piu ci piace o carta e penna vanno benissimo.
Secondo accendo i 2 monitor, sul principale tengo ide e sul secondo diviso in due da un lato il diagramma che serve e dall'altro lato il reference delle librerie usate.
Anche qui il secondo monitor è un optional, dato che l'ho lo uso(non comprato appositamente), prima cambiavo desktoop all'esigenza.
I commenti li suddivido in due metodologie, i file header commentano esaustivamente ciò che fa ogni singola cosa.
I file codice commento solo il link al diagramma,che è decisamente piu esaustivo di qualsiasi altro tipo di commento e il codice rimane sempre pulito.

killercode
10-07-2014, 08:20
Si, ovviamente siamo sempre pieni di carta per ogni progetto. :D

In compenso quando si passa alla scrittura del codice non frega nulla a nessuno di quello che fai quindi si trovano sempre delle porcate immonde quando vai a rivedere i vecchi lavori.

Io personalmente scrivo solo le docstring e i TODO

ingframin
10-07-2014, 10:12
Mi sto incasinando non poco solo per una dll quindi mi chiedo: come programmate ?

Con tanta pazienza.


Pianificate prima su carta quello che dovete fare poi seguite quello e aggiornate i/il fogli/o?

Credo che il planning su carta serva solo per iniziare. Una volta partiti dubito che chiunque si metta ad aggiornare i foglietti... Magari riscriverli man mano che si procede...

Vi segnate quello che fate o usate i commenti nell'editor ?
Quanti schermi usate?
:stordita:
è buona norma scrivere i commenti nelle parti oscure del codice, quelle più difficili da capire al volo o meno ovvie.

Io ho un solo schermo ma conosco persone che ne usano anche 2.
Per programmare non so a che servano 2 schermi, per fare circuiti fanno invece molto comodo (schema elettrico da un lato, layout dall'altro) ma la mia esperienza su grossi progetti è minima, quindi magari hanno una loro utilità.

altermetax
10-07-2014, 14:29
non arriverai da nessuna parte, stai facendo il triplo lavoro per nulla.

pianifica, sfrutta gli idiomi, i pattern, e progetta la tua classe, progetta lo "scheletro" delle classi o funzioni di una certa famiglia, magari funzioni che gestiscono risorse esterne le progetti in un certo modo e funzioni dedicate alla computazione in un altro.

Studia il tuo editor, e se non hai un editor decente procuratene uno, uno come Vim, Sublimetext, QtCreator ( che offre anche una modalità Vim compatibile ) etc etc ... studia le shortcut da tastiera, le regex, controlla che non ci sia già un plugin che faccia al caso tuo.

Impara ad usare un sistema di generazione come cmake o simili, cerca di scrivere meno cose e tenere il tuo codice compatto, codice verboso non è quasi mai un buon segno, specialmente nei punti critici come gli if e i cicli for.

Infine impara ad usare la libreria standard del tuo linguaggio, molta gente finisce per scrivere codice astruso e difficile anche solo da studiare per un nuovo arrivato solo per ordinare un array o un vettore, probabilmente nella libreria standard ci sono funzioni e metodi per almeno la metà di quello che devi fare.


Quote:
Originariamente inviato da Q_Q Guarda i messaggi
Mi sto incasinando non poco solo per una dll quindi mi chiedo: come programmate ?
Con tanta pazienza.

Quote:
Pianificate prima su carta quello che dovete fare poi seguite quello e aggiornate i/il fogli/o?
Credo che il planning su carta serva solo per iniziare. Una volta partiti dubito che chiunque si metta ad aggiornare i foglietti... Magari riscriverli man mano che si procede...
Quote:
Vi segnate quello che fate o usate i commenti nell'editor ?
Quanti schermi usate?
è buona norma scrivere i commenti nelle parti oscure del codice, quelle più difficili da capire al volo o meno ovvie.

Io ho un solo schermo ma conosco persone che ne usano anche 2.
Per programmare non so a che servano 2 schermi, per fare circuiti fanno invece molto comodo (schema elettrico da un lato, layout dall'altro) ma la mia esperienza su grossi progetti è minima, quindi magari hanno una loro utilità.

Sono d'accordo con tutti e due.

U-Boat
10-07-2014, 14:36
Pianificate prima su carta quello che dovete fare poi seguite quello e aggiornate i/il fogli/o?


Su lavagna schema di alto livello o idee per gli algoritmi più complessi, per ricordarmi cosa fare usiamo un issue tracking su Gitlab per le funzioni di alto livello e pending test per cosa fare nel breve.
Un consiglio che do sempre è quello di avere una scrivania in vetro così da poterci scrivere sopra con i pennarelli della lavagna: oggi come oggi non riuscirei a lavorare senza :)


Vi segnate quello che fate o usate i commenti nell'editor ?

Limitiamo i commenti il più possibile, lasciandoli solo per chiarire certi algoritmi o stranezze che non possono essere espresse direttamente nel codice.
I test fanno anche da documentazione

Quanti schermi usate?
Se sviluppo web application 3 monitor sono il minimo necessario: su uno l'ide, su l'altro il browser e il terzo serve per il "resto" (documentazione, terminale di comando o simile), per applicazioni che non richiedono una parte visuale continuamente sotto agli occhi due monitor possono bastare, anche se comunque una volta abituati a tre è difficile tornare indietro.
Di norma uso due monitor 24" più quello del portatile.

In generale se trovi un'operazione che ti fa perdere tempo inutilmente allora cerca un modo per evitarlo: tornando alle applicazioni web, ho iniziato con un monitor solo, ma poi mi sono reso conto che passavo molto tempo a fare switching tra ide e browser, problema che ho risolto con un monitor in più collegato al laptop. A quel punto la difficoltà stava nel fatto di avere due display di dimensione diversa e ci voleva un attimo per mettere a fuoco correttamente l'area di lavoro nel passaggio: ecco arrivare il secondo monitor esterno.
Il monitor del portatile a quel punto ho iniziato ad usarlo per le operazioni più rare o che richiedano magari più colpo d'occhio che non una lettura approfondita (ad esempio vedere la barra verde dei test).

fek
11-07-2014, 05:02
Mi siedo sulla poltrona, apro il macbook sulle gambe, scrivo i test, scrivo il codice che mi serve, rifattorizzo, tolgo ogni codice duplicato che vedo, committo, scrivo i test, scrivo il codice che mi serve, rifattorizzo, tolgo codice duplicato, committo, non scrivo mai commenti perché chi scrive codice pieno di commenti non sa programmare.

killercode
11-07-2014, 07:53
Un consiglio che do sempre è quello di avere una scrivania in vetro così da poterci scrivere sopra con i pennarelli della lavagna: oggi come oggi non riuscirei a lavorare senza :)


http://www.guidaacquisti.net/_immagini/guida/Post-it.jpg

50 €cent, disponibili in ogni cartoleria, anche a Bombay :asd:

van9
11-07-2014, 14:32
Inizio dai dati e dai tipi con il supporto di un buon type system. Su carta mi segno di tutto per ragionarci o esplorarlo quando e se mi va e mi sembra più naturale. I commenti dipende, nel software di sistema e/o kernel development devo spesso segnalare un sacco di astrusità e ci stanno. Nell'applicativo non li uso quasi mai.

Q_Q
11-07-2014, 15:50
Oddio sono pieno di fogli :asd:
Visto come sono incasinato credo mi convenga di più fare così:
Usare una lavagnetta magnetica con i pennarelli per tenere traccia di quello che ho fatto/devo fare.
Mettere i todo e fixme nel codice, quando ho fatto li cancello e aggiorno la lavagna.
Mettere commenti piccoli solo dove serve, se devo scrivere tanto faccio un file di testo a parte e nel codice metto solo il nome del file.

Che ne dite ?

killercode
11-07-2014, 19:04
Oddio sono pieno di fogli :asd:
Visto come sono incasinato credo mi convenga di più fare così:
Usare una lavagnetta magnetica con i pennarelli per tenere traccia di quello che ho fatto/devo fare.
Mettere i todo e fixme nel codice, quando ho fatto li cancello e aggiorno la lavagna.


Questa roba è gia fatta dagli IDE senza bisogno che tu lo faccia manualmente


Mettere commenti piccoli solo dove serve, se devo scrivere tanto faccio un file di testo a parte e nel codice metto solo il nome del file.


E questo è anche peggio che scrivere in mezzo al codice perchè oltre ad avere ugualmente il papiro da leggere devi andartelo anche a trovare chissà dove.