Tecniche per aumentare la logica durante la programmazione [chiuso]


21

Sono in programmazione dagli ultimi 3 anni. Ma mi sembra di esserci perso. Non riesco a farcela anche se scrivo codice ogni giorno.

supponiamo che io risolva un problema, vagherò da una soluzione all'altra e implementerò qualche altra soluzione. Non riesco a concentrarmi molto. Ottengo molti difetti per il codice che scrivo. Ho paura del codice, non so perché, se non lo finisco in tempo, il mio capo mi licenzierà, ecc. Mi diverto a programmare, ma non sempre. Come aumentare la pazienza?

Mi chiedo sempre come posso diventare il miglior programmatore come molti programmatori eccezionali. So che questo suona soggettivo, ma penso che questo aiuterà la comunità dei programmatori a farcela, specialmente per i programmatori medi come me o principianti.


8
È comune sentirsi così. Non tutti noi scriveremo compilatori o programmatori hardcore. Non ho una formazione formale in programmazione, ma la soluzione dei problemi è la chiave. Con la tecnologia che cambia su una base molto rapida, è molto difficile rimanere al di sopra dell'acqua. Mi sforzo di migliorare continuamente. Questo è il mio obiettivo. Comprendi che questa professione è molto diversa, cerca di fare del tuo meglio e di andare avanti. Prendo sempre del tempo ogni settimana per imparare o capire qualcosa di nuovo. Finché manterrai quell'atteggiamento, starai meglio.
Jon Raynor,

"Ho paura del codice ... se non lo finisco in tempo, il mio capo mi licenzierà ecc." - Non è un ottimo ambiente in cui godere, e quindi migliorare, della programmazione.
Paul D. Waite,

@ PaulD.Waite Vero, non è eccezionale ma è molto molto comune.
Pramesh Bajracharya

Risposte:


12

Personalmente suggerirei di iniziare con ostacoli più piccoli; prova ad affrontare la codifica in blocchi più piccoli e ottieni di più dalle vittorie intermedie. Sembra che ti annoi o ti annoi se qualcosa dura troppo a lungo o non mostra progressi. Posso dire definitivamente che sono stato nella stessa barca.

Pensalo come affrontare un panino: non mangi tutto in un boccone, lo spezzi. Fai la stessa cosa con i tuoi progetti, compiti, ecc. A seconda del livello in cui ti trovi, potresti voler chiedere al tuo supervisore / manager di scomporlo per te. Se sei responsabile del tuo carico di lavoro, imposta per te piccoli traguardi che sono realizzabili (non fissare un obiettivo che non raggiungerai mai, questo ti rende solo più scoraggiato e ti mette in una posizione indesiderata). vale a dire "A mezzogiorno voglio che sia definita questa classe", "A partire da 2 voglio implementare questa interfaccia", ecc.

La mia azienda è famosa per iniziare e accelerare un progetto, permettendomi di raggiungere il 90%, quindi sfilando il tappeto da sotto di me per passare alla "prossima grande cosa". Comincio a sentirmi scoraggiato dal fatto che non ho mai fatto nulla, e mi fa entrare in un "funk" (se vuoi). Alla fine ho spinto indietro e ho detto loro che non stavo andando avanti fino a quando non ho finito quello che avevo quasi completato. Questo ha fatto meraviglie per la mia stima, morale ed energia (anche se non posso dire lo stesso dei miei datori di lavoro: scrollare le spalle :)


7

Il mio suggerimento sarebbe di ottenere un mentore.

Quando ottieni un nuovo progetto, decidi il percorso che seguirai: come sarà il design complessivo; quali algoritmi hai intenzione di usare; come pensi di svilupparlo in modo da poterlo testare presto e spesso; eccetera.

Porta questi piani al tuo mentore e parlane con lui / lei. Se vedono che sei sulla strada sbagliata o hai perso qualcosa di importante, rivedi i tuoi piani e riprova.

Ora che hai un piano approvato, seguilo. Non modificare i tuoi piani a meno che non si verifichi qualcosa di completamente disastroso, quindi torna a rivedere i tuoi piani, ottenere l'approvazione e il riavvio. Altrimenti, segui il tuo piano e fai esattamente quello che hai deciso di fare. Verificare con il proprio mentore a intervalli regolari per convalidare l'implementazione e assicurarsi di scrivere e utilizzare i test lungo la strada.

Se hai fatto tutto quanto sopra, avrai consegnato un progetto in tempo e con risultati corretti. Se vuoi tornare indietro e refactificare una parte del progetto, hai tutti i test che hai creato e una copia funzionante del programma da cui costruire.

Mi sembra che tu sia solo un po 'troppo disperso e privo di concentrazione. Forse se riesci a sistemare quelle aree e lavorare con qualcuno che rispetti, sarai in pista abbastanza presto.

Buona fortuna a te.


6

Credo di essere esattamente nella tua stessa posizione e non è bello essere lì. Può essere demorilizzante ed essere onesto abbastanza deprimente a volte. Tuttavia, come in ogni altra cosa, credo che ci siano alcune cose che puoi fare per alleviare questo e quindi progredire verso una carriera lavorativa più sana e felice.

  1. Devi voler cambiare e migliorare. Se ti senti così, ma non sei pronto a metterti in difficoltà per migliorare le tue capacità, allora non c'è molto che nessuno strumento / processo possa fare per te.

  2. Alcune persone sono naturalmente brillanti. Alcune persone lavorano sodo per essere geniali. Molte persone lavorano sodo per sforzarsi di essere brillanti. Se non hai talento naturale (programmazione o altro), allora un duro lavoro può portarti lì. Solo il livello di duro lavoro varierà. Niente è impossibile.

  3. Accetta le tue carenze e cerca di migliorare. Uno dei maggiori ostacoli che vedo sono le persone che hanno paura di accettare che la loro strada non è un buon modo e quindi non cercare mai consigli o discutere altri modi di fare le cose. Quindi non imparano mai pratiche migliori e quindi continuano a fare gli stessi errori ancora e ancora.

  4. Chiedi consiglio a coloro che consideri buoni programmatori. Non aver mai paura di parlare e chiedere consigli ai colleghi. Tuttavia, prendi sempre i loro consigli al valore nominale e decidi tu stesso se acconsentire o meno. Non importa quanto sia brillante qualcuno, ci sono sempre molti modi per programmare un loop.

  5. Leggi leggi leggi. Leggi i gruppi di notizie. Pubblica domande su siti come questo (ben fatto). Compra i libri che hai sentito bene o chiedi altrimenti consigli.

  6. Explicity applica i principi di progettazione a piccoli passi e quindi sii orgoglioso di ciò che hai fatto. Se sei orgoglioso di ciò che codice, allora è meno probabile che ci sia spazio per errori e bug.

  7. Aperto per suggerimenti e aiuto. Chiuso al pensiero unidimensionale. Sii aperto a molte possibilità e metodi. Cerca quelli che pensano che ci sia un modo per tutto. Un po 'come 4.

  8. Essere un brillante programmatore non equivale ad essere un brillante impiegato. Se essere un programmatore brillante è tutto ciò che desideri, ad essere sincero potresti non arrivarci mai. Tuttavia, ognuno ha le capacità che credo siano un dipendente e una persona brillanti. Lavora su cose che possono aiutarti ad arrivarci.


Bella risposta. Sembra che questi punti provengano da un grande mentore. Notatemi senpai !! _ / _
Pramesh Bajracharya

4

Se dopo 3 anni di programmazione quotidiana, stai lottando con le basi, devi considerare seriamente la possibilità che questa non sia la professione giusta per te.

Questa non è una brutta cosa. La programmazione non è per tutti, trova quello in cui sei bravo e fallo, piuttosto che forzare qualcosa su te stesso che non è naturale.

Se quello che stai dicendo è vero .. Non sarai mai un "programmatore eccezionale". Va bene, accettalo.


Commentatori: i commenti hanno lo scopo di cercare chiarimenti, non di discussioni estese. Se hai la tua soluzione, lascia una risposta. Se ritieni che questa risposta sia buona, votala. Se non pensi che sia buono, vota in negativo. Se desideri discutere questa domanda con altri, utilizza la chat . Vedi le FAQ per maggiori informazioni.

Dai, nessuno diventa "eccezionale" in tre anni.
Jacques B

3

Cerca di entrare nello stato d'animo di Flow . Questo è il singolo fattore più importante che ho visto per essere un buon sviluppatore. Per fare questo, devi affrontare sfide che sai di poter fare, ma che sono difficili. Devi trovare il giusto livello di sfida per coinvolgerti; allora puoi gradualmente aumentarlo man mano che migliorerai. Avere compiti che sono troppo facili o troppo difficili sarà dannoso.


3

Rompilo in piccoli pezzi.
Permettetemi di dimostrare usando il fare un sandwich PB&J.

Capire il processo di base generale.

1 - Get Ingredients
2 - Combine Ingredients
3 - Cut Sandwich
4 - Serve Sandwich

Quindi abbattere ciascuno di questi

**Get Ingredients**
1 - Validate/Create PB
1.1 - Validate/Create Jelly
1.2 - Validate/Create Bread
2 - Move PB To assembly area
...

ripetere il processo di interruzione fino a comprendere appieno la logica in questione.

Ciò renderà più facile la comprensione. E più facile identificare i processi comuni. Prima di iniziare a programmare, assicurati di aver già capito la logica. Fare errori non è solo ok, è previsto. Trovarli prima di implementarli è molto più facile da correggere.

Spesso la logica è la parte più difficile della programmazione. È per questo che non tutti vogliono farlo. Se non ti piace la logica ma ami il design dell'interfaccia utente, ci sono ruoli specializzati in quello, dove potresti trovare più divertimento. Non c'è niente di sbagliato in questo. Personalmente preferisco la logica all'interfaccia utente. Ci sono anche altri ruoli se la logica non è dove vuoi essere capito dove vuoi essere.


2

Ho avuto questo tipo di problema prima ... È successo poco prima che mi esaurissi e non potessi programmare a livello produttivo per quasi un anno dopo (e avevo solo 19 anni in quel momento).

Comunque, ripensandoci, il problema che avevo era la mancanza di direzione e gestione. Lavorerei sull'implementazione di qualcosa per un mese o due e poi, quando è stato quasi fatto, improvvisamente deve essere fatto in un modo completamente diverso. Questo è stato un duro colpo per la mia autostima poiché sono abbastanza orgoglioso di ogni riga di codice che scrivo. Inoltre, la gestione consisteva principalmente in un paio d'ore di discussione su come qualcosa dovrebbe funzionare e poi un paio di giorni in cui non si discuteva nulla. Anche in parte è stata colpa mia. Ciò è stato anche aggravato dal fatto che ad un certo punto il lavoro è diventato estremamente noioso e mi sentivo come se stessi solo digitando il codice e in realtà non ero affatto creativo.

Linee guida generali:

  1. Se senti che c'è una mancanza di direzione, tiralo su. Chiedi al tuo superiore una maggiore struttura in cui stanno andando le cose
  2. Se devi eliminare il codice tutto il tempo (e non in modo positivo come il refactoring), chiediti seriamente perché non esiste un piano più completo costruito prima dell'implementazione
  3. Se sei in una start up super piccola e stai lavorando come sviluppatore "principale", quando chiaramente non ne hai esperienza, ingoia il tuo orgoglio e dì al tuo manager che sei davvero uno sviluppatore junior.
  4. Il tedio è di solito causato dall'apparenza di nessun lavoro da svolgere. Assumi i tuoi compiti in piccoli morsi e tieni traccia dei tuoi progressi. Questo ti aiuterà a sentire che stai facendo qualcosa
  5. Se tutto il resto fallisce, potresti voler iniziare ad applicare altrove, specialmente se al tuo manager non sembra importare che potresti essere diretto a un esaurimento

-1

Trova un gioco di logica induttiva come Zendo e gioca nel tuo tempo libero. Sul serio. La logica induttiva è il cuore del debug.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.