Quale metodo di definizione delle variabili è un modo più pulito di codificare

0

La mia domanda è quale metodo qui sotto per definire le variabili è un modo più semplice per codificare e perché?

Opzione 1:

 file_one=/path/to/file1
 file_two=/path/to/file2

if condition
   cd(file_one)
else
   cd(file_two)

Opzione 2:

if condition
   file=/path/to/file1
   cd(file)
else
   file=/path/to/file2
   cd(file)
    
posta Dawn555 31.03.2017 - 15:10
fonte

3 risposte

5

Direi che è più una questione di ciò che detta la tua logica di business.

Ma se stai chiedendo questo caso specifico, direi che entrambi hanno torto! Nel primo esempio si imposta un valore che potrebbe non essere necessario. Nel secondo esempio, duplichi il codice non necessario.

Preferisco scriverlo come:

if condition
    Method(file1)
else
    Method(file2)

Method(file)
    cd(/path/to/file)

Resta breve, fino al punto, leggibile e soprattutto semplice. Non aver paura di scrivere un metodo extra se rende il codice più leggibile. Questo è il principio di stile Codice pulito di Zio Bob .

    
risposta data 31.03.2017 - 15:49
fonte
2

(1) hai un sacco di duplicati in entrambi gli esempi, e la duplicazione è il nemico del codice mantenibile. La prima considerazione deve essere rimuovendola.

(2) molte persone hanno un'avversione per l'uso dell'operatore di alternanza ( ?: ), ma francamente in situazioni come questa, l'uso può rendere il codice molto più chiaro. Pertanto, finché condition è qualcosa di relativamente semplice, suggerisci questo come alternativa:

cd ("/path/to" + (condition ? "file1" : "file2"))

Per un'attività come questa, ritengo che la brevità sia estremamente vantaggiosa.

Ora, se la logica è più complessa di questa, suggerirei di considerare la scelta del percorso del file per una funzione separata, ma a questo livello di complessità (e finché si verifica solo in un punto) I pensa di farlo online in questo modo va bene.

    
risposta data 01.04.2017 - 01:05
fonte
0

Preferirei l'opzione 2, supponendo che file_one e file_two non vengano usati da nessun'altra parte, perché mantiene il raggio d'azione più stretto. Le variabili sono dichiarate nel campo di applicazione in cui vengono utilizzate e quindi non sono rumori in altri luoghi dove non servono a nulla.

Dichiarando le variabili in un ambito più ampio, il lettore può cercare i luoghi in cui vengono utilizzati e il loro significato. Dall'altra estremità, nel punto in cui vengono utilizzati, mancano informazioni su tipo e valore, ancora una volta si deve andare a caccia per trovare la dichiarazione prima che si possa comprendere appieno la chiamata cd.

    
risposta data 01.04.2017 - 00:24
fonte

Leggi altre domande sui tag