Nella nostra azienda c'erano una volta più programmatori, ora sono l'ultimo uomo in piedi. Ho ereditato tutto il codice e mantengo, riscrivo, estendo (, sistemo).
Mi imbatto sempre in questo comportamento che cerco di rendere la cosa ingannevole in modo che un collaboratore di dummie non possa rovinare il codice. Ma ci sono dei limiti a quello che posso fare. Non posso impedire che qualcuno abbia un riferimento a un oggetto. Persino le classi di sistema java / android ti danno un oggetto che non dovresti tenere ma utilizzarlo localmente e questo è tutto.
Nella nostra azienda molto è andato storto e io sono una specie di bambino bruciato, vedo possibilità come qualcuno potrebbe fare la cosa sbagliata e il codice continua a bloccarsi e mi viene chiesto "perché scrivi cose del genere" ...
In questo momento sono l'unico programmatore, ma in futuro forse ne avremo di più (di nuovo), ma in questo momento mi limito a trattenermi spendendo troppo tempo a cercare di capire come potrei scrivere le mie cose in modo tale che la minima quantità di errori può essere fatto con esso. Anche se sarei quello che ha dovuto commettere l'errore.
Come tutti quelli che faccio errori ofc. Quindi controllo i valori ecc. E scrivo i limiti nei java-doc per ricordare a me stesso quali valori posso passare, ecc. Quei semplici controlli non sono ciò di cui stiamo parlando. Sto parlando di ciò che spesso potrei scrivere un metodo in un modo semplice e buono ma una voce nella mia testa dice "oh no, e se QUALCUNO passasse un parametro sbagliato o facesse questo e quello con esso" e all'improvviso mi ritrovo a incapsulare la logica e rendere le cose più complicate solo per aggiungere una sorta di protezione contro ... i programmatori dummie con me sono l'unico possibile.
NON sto lavorando su alcuna API aperta o cose condivise. Non ci sarà (molto probabilmente) nessun controllo del codice, ecc. Io sono l'unico che usa il codice e rimarrà così per molto tempo.
Quindi, come faccio a smettere di fare questa codifica infallibile che mi costa troppo tempo e capacità intellettuali.
EDIT: ho letto l'altra domanda + risposte. Capisco l'intera 'programmazione difensiva' ma mi chiedo quando lo sto prendendo troppo lontano? E questo è più il mio problema.