I miei nomi di metodi o variabili sono troppo lunghi? [chiuso]

14

Quindi ero attualmente nel bel mezzo della codifica, sfortunatamente per me, ero in "The Zone", quindi ho pensato a me stesso, sono i miei metodi / nomi variabili a lungo?

POP fuori dalla zona I go!

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

Ad ogni modo, ecco alcuni dei miei metodi e nomi di variabili.

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

Variabili: isNextToBlockedSquares;

I Indovina che c'era una sola variabile che sembrava troppo lunga.

    
posta Bryan Harrington 20.11.2010 - 06:23
fonte

3 risposte

28

I tuoi nomi mi sembrano a mio agio in termini di lunghezza. Tuttavia, il loro nome suggerisce che forse alcune nuove classi sono in ordine?

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

    
risposta data 20.11.2010 - 07:02
fonte
9

Credo nei nomi di variabili descrittive anche se ciò significa nomi di variabili lunghi. E con l'intellisense sempre più popolare, non credo che influenzi molto in termini di produttività.

Odio le abbreviazioni perché sono quasi impossibili da usare in modo coerente. Inoltre, possono essere ambigui e rendono 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 si abbrevi molto. E abbreviare un sacco uccide la leggibilità.

Il più grande problema che i nomi lunghi introducono è la lunghezza delle righe di codice. Chiamare una funzione con un nome lungo e passargli due o tre nomi di variabili lunghi può creare una lunga riga di codice. Per questo motivo, cerco di mantenere il mio nome il più breve possibile anche se, di nuovo, preferirei avere nomi descrittivi, anche se ciò significa avvolgere linee o scorrere.

Tuttavia, osservando i tuoi nomi di esempio, 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 loro classe, probabilmente chiamati BlockedSquares. Quel cambiamento che rende i nomi un po 'più brevi.

    
risposta data 20.11.2010 - 07:01
fonte
5

Un nome di variabile è la lunghezza sbagliata quando non sta descrivendo chiaramente il suo scopo. Ciò si applica a essere troppo breve o troppo lungo.

I nomi di variabili brevi e terse possono essere ambigui o peggio non avere alcuna relazione con la variabile. Ai tempi del BASIC interpretato, eravamo limitati dall'interprete a due nomi di personaggi. È stato molto difficile trovare nomi significativi in un grande programma. I nomi delle variabili a lettera singola vengono spesso utilizzati per i cicli for e i contatori, ma penso che dovrebbero essere evitati altrimenti. for (i = 0; i < 10; i++) {...} utilizza i ed è piuttosto comune. j è un nome di variabile secondaria.

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

Avrei chiamato " isCurrentSquareNextToAtLeastOneBlockedSquare " a currentSquareNextToBlockedSquare? , se lo stavo facendo in Ruby.

    
risposta data 20.11.2010 - 07:02
fonte

Leggi altre domande sui tag