Visualizzazione dei risultati da 1 a 10 su 27

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    TUTTO il codice è pochissimo comprensiible a persone esterne
    http://stackoverflow.com/a/316233/711206
    codice:
    //When I wrote this, only God and I understood what I was doing
    //Now, God only knows
    La leggenda metropolitana che mediante qualche supermetodosegreto (ne avrò studiati una 50ina minimo) i programmi divengano meravigliosi e perfettamente manutentibili e chiarissimi etc è semplicemente falso (per non dire una boiata pazzesca parafrasando Fantozzi).
    E' possibile seguire alcuni principi che ti possono aiutare a migliorare questo aspetto. Che sia SOLID, che sia DRY, che siano design pattern o altro. Se il tuo progetto ha una copertura per unit test elevata, è ben documentata, ben commentato, con uno stile il più standard possibile, descrittivo nei nomi delle variabili/metodi/classi, allora io, te, e chiunque altro può capirlo e modificarlo.
    Se non fosse così, allora in qualsiasi progetto open source collaborerebbero al massimo una decina di persone, non migliaia.

    E' ovvio che se create codice non testabile, illeggibile, accoppiato, etc, sia impossibile per chiunque tranne voi di metterci mano. E dopo poche settimane neanche voi saprete più che farci.

    Solo che stai partendo proprio malissimo, con PHP che è (forse) la "cosa" meno adatta per un "vero" programma ad oggetti (li hanno aggiunti perchè fa fico, non perchè servano particolarmente nell'ambito in cui PHP viene usato).
    Ugh. Va bene, in php non tutto è un oggetto, come invece accade in Ruby. E quindi? Neanche in C++ o Java. Ma diresti che C++ non è OO? O che sarebbe da buttare in favore di altri linguaggi che lo sono?
    PHP supporta la programmazione orientata ad oggetti: http://php.net/manual/en/language.oop5.php
    La puoi usare, e non perché è "figo", ma perché è uno strumento utile. Che sia "completamente oo" importa relativamente poco se ti basta per fare quello che devi fare.

  2. #2
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    E' possibile seguire alcuni principi che ti possono aiutare a migliorare questo aspetto. Che sia SOLID, che sia DRY, che siano design pattern o altro.
    Quando inizio a leggere questi acronimi così fichi mi eccito.
    Giuro
    no, non è vero
    Se il tuo progetto ha una copertura per unit test elevata, è ben documentata, ben commentato, con uno stile il più standard possibile, descrittivo nei nomi delle variabili/metodi/classi, allora io, te, e chiunque altro può capirlo e modificarlo.
    Questa è la cazzata del giorno, lasciatelo dire.
    E' una leggenda metropolitana "venduta" dagli spacciatori (e inventori) di acronimi.
    Se vedi dall'interno com'è fatto un "vero" prodotto (cioè ad esempio composto da un milione di righe, non il programmello di 3K linee) vedi subito che "chiunque" significa "una dozzina di persone".
    Talvolta anche meno.
    E' un dato di fatto di banale cardinalità: quando un progetto supera la capacità di un singolo, per quanto abile, gli "acronimi" valgono pochino.
    Se non fosse così, allora in qualsiasi progetto open source collaborerebbero al massimo una decina di persone, non migliaia.
    In effetti sono proprio qualche decina di "veri" a lavorarci, più centinaia di rifinitori di aree ben circoscritte. Anche nei progetti più grandi (Linux ad esempio).
    E' ovvio che se create codice non testabile, illeggibile, accoppiato, etc, sia impossibile per chiunque tranne voi di metterci mano. E dopo poche settimane neanche voi saprete più che farci.
    Mah... Sarà... nessuno riesce a mettere mano a un progetto "serio", per il semplice fatto che è troppo grande.
    O immagini di poter comprendere ogni singola riga di funzionamento di Windows 10 con tutti i suoi vari programmi di supporto, con 4 diagrammini?
    Ugh. Va bene, in php non tutto è un oggetto, come invece accade in Ruby. E quindi? Neanche in C++ o Java. Ma diresti che C++ non è OO? O che sarebbe da buttare in favore di altri linguaggi che lo sono?
    Guarda saranno 25 anni che ci sono "crociate" più o meno "violente" per stabilire se C++ è OO, o no.
    O se lo è abbastanza, oppure no.
    Dalle primissime, timide, estensioni di Stroustrup (dovrei avere ancora una sua dedica su una delle prime edizioni del suo mitico - ma scritto malissimo - libro)
    PHP supporta la programmazione orientata ad oggetti: http://php.net/manual/en/language.oop5.php
    La puoi usare, e non perché è "figo", ma perché è uno strumento utile. Che sia "completamente oo" importa relativamente poco se ti basta per fare quello che devi fare.
    Ahhh... stai passando al Lato Oscuro... ovvero che a nessuna frega niente di quanto è fico (a parte i fanboy), basta che funzioni?
    Benvenuto nel club

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.