Il mio metodo o i nomi delle variabili sono troppo lunghi? [chiuso]


15

Quindi al momento ero nel mezzo della programmazione, sfortunatamente per me, ero in "The Zone", quindi ho pensato: i nomi dei miei metodi / variabili sono troppo lunghi?

POP fuori dalla zona che vado!

Quindi sono venuto qui per chiedere, i nomi dei miei metodi / variabili sono troppo lunghi? Sii il giudice! Punti bonus a chiunque riesca a capire cosa sto scrivendo, anche se sono sicuro che un guru lo capirà velocemente!

Comunque, ecco alcuni dei miei metodi e nomi di variabili.

Metodi: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()

Variabili: isNextToBlockedSquares;

Immagino che ci fosse una sola variabile che sembrava troppo lunga.


Risposte:


31

I tuoi nomi mi sembrano a posto in termini di lunghezza. Tuttavia, il modo in cui sono nominati suggerisce che forse alcune nuove classi sono in ordine?

Ad esempio, invece di searchBlockedListForBlockedSquares()te potresti blockedList.getBlockedSquares(). Allo stesso modo, isCurrentSquareNextToAtLeastOneBlockedSquare()diventa currentSquare.isAdjacentToABlockedSquare().


Adiacente era la parola che stavo cercando! Grazie =)
Bryan Harrington,

@Bryan: Prego. :)
Adam Lear

11

Credo nei nomi delle variabili descrittive anche se ciò significa nomi di variabili lunghe. E con l'intellisense che sta diventando più popolare, non credo che influisca molto in termini di produttività.

Odio le abbreviazioni perché sono quasi impossibili da usare in modo coerente. Inoltre, possono essere ambigui e rendere le cose più difficili da leggere. Anche quando fanno parte di uno standard, non mi piacciono. Inoltre, quando si tratta di esso, non rimuovono molte lettere a meno che non abbiate abbreviato molto. E abbreviare molto uccide la leggibilità.

Il problema più grande che i nomi lunghi introduce è quanto possono diventare lunghe righe di codice. Chiamare una funzione con un nome lungo e passarle due o tre nomi di variabili lunghe può creare una lunga riga di codice. Per questo motivo, cerco di mantenere i miei nomi il più brevi possibile, anche se di nuovo, preferirei avere nomi descrittivi anche se ciò significa racchiudere le linee o scorrere.

Guardando i nomi dei tuoi esempi, però, il fatto che tutto finisca con BlockedSquares mi fa pensare che parte del nome potrebbe essere ridondante. In effetti, potrebbe anche significare che questi elementi possono essere incapsulati nella propria classe, probabilmente denominata BlockedSquares. Quel cambiamento che rende i nomi un po 'più brevi.


5

Un nome di variabile ha la lunghezza sbagliata quando non sta descrivendo chiaramente il suo scopo. Questo vale per essere troppo corto o troppo lungo.

I nomi di variabili brevi e concisi possono essere ambigui o, peggio ancora, non hanno alcuna relazione con la variabile. Ai tempi dell'interpretazione BASIC, l'interprete era limitato a due nomi di personaggi. È stato molto difficile trovare nomi significativi in ​​un programma di grandi dimensioni. I nomi delle variabili a lettera singola sono spesso usati per for-loop e contatori, ma penso che dovrebbero essere evitati altrimenti. for (i = 0; i < 10; i++) {...}usa ied è abbastanza comune. jè un nome variabile secondario.

I nomi di variabili lunghe sono troppo lunghi quando diventano prolissi o pieni di parole vuote, rendendole più lunghe del necessario. Se ho un sacco di variabili con nomi simili cercherò di rimuovere le parti comuni che sono dispensabili e di mantenere le parti identificative univoche dei nomi.

Avrei chiamato " isCurrentSquareNextToAtLeastOneBlockedSquare" a currentSquareNextToBlockedSquare?, se lo avessi fatto in Ruby.

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.