Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Come scrivere codice non mantenibile

Notizie scientifiche e non, comunicazioni, auguri, AAA cercasi, vendo, compro, piccoli racconti, curiosità, idee, fantasie ecc. Un fuori tema soft, senza argomenti scottanti

Moderatori: Foto Utenteadmin, Foto UtentePaolino

2
voti

[1] Come scrivere codice non mantenibile

Messaggioda Foto Utenteboiler » 22 mar 2021, 14:13

Vi segnalo una perla:
https://www.se.rit.edu/~tabeec/RIT_441/ ... 20Code.pdf

Me la sono letta ieri pomeriggio e poi ieri sera una seconda volta, vista l'eccellenza dell'opera :mrgreen:

Si tratta di una raccolta di "regole" da seguire per evitare che colleghi o reviewers possano mettere il naso nei vostri codici sorgente (o perlomeno capirci qualcosa).

Si parte da quelle di facile implementazione e che piú che disturbare un po' non fanno:
Reuse Names
Wherever the rules of the language permit, give classes, constructors, methods, member variables, parameters and local variables the same names. For extrapoints, reuse local variable names inside {} blocks. The goal is to force the maintenance programmer to carefully examine the scope of every instance. In particular, in Java, make ordinary methods masquerade as constructors.


Ci sono anche consigli sull'architettura di programmi OOP:
Dummy Interfaces
Write an empty interface called something like "WrittenByMe", and make all of your classes implement it. Then, write wrapper classes for any ofJava's built-in classes that you use. The idea is to make sure that every single object in your program implements this interface. Finally, write all methods so that both their arguments and return types are WrittenByMe. This makes it nearly impossible to figure out what some methods do, and introduces all sorts of entertaining casting requirements. For a further extension, have each team member have his/her own personal interface (e.g., WrittenByJoe); any class worked on by a programmer gets to implement his/her interface. You can then arbitrary refer to objects by any one of a large number of meaningless interfaces!


Non mancano gli esempi di costrutti eleganti e/o esotici:
Jude the Obscure
Always look for the most obscure way to do common tasks. For example, instead of using arrays to convert an integer to the corresponding string, use code like this:
Codice: Seleziona tutto
char *p;
switch (n)
{
   case 1:
      p = "one";
      if (0)
   case 2:
      p = "two";
      if (0)
   case 3:
      p = "three";
      printf("%s", p);
      break;
}


Buona lettura e buon divertimento :ok:

Boiler
Avatar utente
Foto Utenteboiler
18,0k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3334
Iscritto il: 9 nov 2011, 12:27

1
voti

[2] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utentenicsergio » 22 mar 2021, 14:25

Un paio di settimane fa avevo letto l'articolo Come scrivere codice ingestibile di Foto UtenteKirkegaard e mi ero divertito.
Direi che mi hai dato una lettura per una di queste sere. :ok:
:(){ :|:& };:
Avatar utente
Foto Utentenicsergio
1.675 1 4 13
Expert EY
Expert EY
 
Messaggi: 194
Iscritto il: 1 gen 2020, 16:42

0
voti

[3] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utenteboiler » 22 mar 2021, 14:27

Ah, non avevo visto quell'articolo. Beh, ne è la traduzione, quindi nulla di nuovo per te ;-)

Boiler
Avatar utente
Foto Utenteboiler
18,0k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3334
Iscritto il: 9 nov 2011, 12:27

0
voti

[4] Re: Come scrivere codice non mantenibile

Messaggioda Foto UtenteIsidoroKZ » 22 mar 2021, 16:35

Sono contento di essere un circuitale :D :D
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
111,6k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 19471
Iscritto il: 17 ott 2009, 0:00

0
voti

[5] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utentelemure64 » 22 mar 2021, 16:56

A me basta quello che scrivo io con l'intento di scrivere al meglio; nomi autoesplicativi, incolonnamento rigorosissimo, amore per l'ordine... Ma tendo a commentare pochissimo e dopo una settimana mi scordo completamente quello che ho fatto. Non riesco più a riprendere vecchi progetti, non oso pensare a scrivere in quel modo. Difatti ci sono software che possono incasinare i sorgenti anche se non toccano il lato progettuale come per esempio accade nel PDF; si limitano a mischiare le indentazioni e sostituire gli identificatori, e poco altro.
Avatar utente
Foto Utentelemure64
630 2 6
Stabilizzato
Stabilizzato
 
Messaggi: 347
Iscritto il: 23 giu 2020, 12:26

2
voti

[6] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utentestefanopc » 22 mar 2021, 17:56

Non invidio per nulla chi dovesse per qualsiasi motivo copiare o manutenere un mio "codice" sorgente.
Mi stupisco già abbastanza che il compilatore lo comprenda.
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
3.340 2 5 12
Expert EY
Expert EY
 
Messaggi: 1010
Iscritto il: 4 ago 2020, 9:11

2
voti

[7] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utentebrabus » 22 mar 2021, 18:02

Giuro, a tratti mi si accapponava la pelle della nuca. Terribile.

Adoro. :mrgreen:
Alberto.
Avatar utente
Foto Utentebrabus
20,7k 4 11 13
G.Master EY
G.Master EY
 
Messaggi: 2917
Iscritto il: 26 gen 2009, 15:16

1
voti

[8] Re: Come scrivere codice non mantenibile

Messaggioda Foto UtenteIlGuru » 22 mar 2021, 18:54

lemure64 ha scritto:Ma tendo a commentare pochissimo e dopo una settimana mi scordo completamente quello che ho fatto.


L'idea comunque è che durante il tempo passato a programmare nell'arco di quella settimana sei diventato leggermente un po' più bravo, quindi quando lo dovrai rifare da zero, per un evidente vantaggio statistico lo rifarai meglio.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.674 2 10 13
Master EY
Master EY
 
Messaggi: 1666
Iscritto il: 31 lug 2015, 23:32

1
voti

[9] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utenteboiler » 22 mar 2021, 22:15

lemure64 ha scritto:A me basta quello che scrivo io con l'intento di scrivere al meglio; nomi autoesplicativi, incolonnamento rigorosissimo, amore per l'ordine...

Questa è la "grammatica" del liguaggio. Quello che probabilmente ti risulta difficile è trovare la giusta "retorica".

Non basta conoscere perfettamente l'italiano per essere un novello Manzoni.
Allo stesso modo c'è una grossa differenza tra chi ha imparato il C++ e chi lo sa usare per costruire un'architettura software vera.

Durante lo studio mi hanno fatto imparare C, C++, Java (e assembler). Ma non ho mai avuto una sola lezione di architettura. E ora mi accorgo che mi manca. Sto cercando di recuperare queste nozioni, ma da soli si fa fatica.

Non demordere, con il tempo si migliora ;-)

Boiler
Avatar utente
Foto Utenteboiler
18,0k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3334
Iscritto il: 9 nov 2011, 12:27

1
voti

[10] Re: Come scrivere codice non mantenibile

Messaggioda Foto Utenteboiler » 22 mar 2021, 23:14

brabus ha scritto:Giuro, a tratti mi si accapponava la pelle della nuca. Terribile.

Adoro. :mrgreen:

Vedo che abbiamo lo stesso gusto :mrgreen:

Boiler
Avatar utente
Foto Utenteboiler
18,0k 5 7 13
G.Master EY
G.Master EY
 
Messaggi: 3334
Iscritto il: 9 nov 2011, 12:27


Torna a Magazine: notizie, presentazioni, annunci e molto altro

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti