Data una linea di codice (relativamente) complicata, sarei spesso incline a dividerlo su più righe per rendere la sua funzione / scopo chiara agli altri.
Tuttavia, se è abbastanza chiaro dal contesto cosa fa una linea , faresti comunque la stessa cosa solo per rendere più chiaro come lo fa ? O prenderesti l'atteggiamento che i futuri sviluppatori probabilmente non sanno / cura come funziona, solo che funziona?
Per alcuni contesti, la particolare linea a cui viene posta questa domanda è il codice Python che accetta una stringa come "1.title" e la usa per modificare self.data[1].title
:
#IRL, these 2 values are already set somehow
id = "1.title"
val = "foo"
setattr(self.data[int(id[:id.index(".")])], id[id.index(".")+1:], val)
L'ultima riga non è la cosa più bella del mondo da leggere, quindi stavo pensando di dividerlo in:
index = int(id[:id.index(".")])
attrib = id[id.index(".")+1:]
setattr(self.data[index], attrib, val)
Se volevi impazzire, potresti persino fare dotLocation = id.index(".")
prima, e usarlo nelle impostazioni di index
e attrib
.
Questo è probabilmente un po 'più chiaro a qualcun altro che lo legge per la prima volta, ma preferisco che sia bello e conciso su una riga, ed è altamente improbabile che qualcuno abbia bisogno di modificare questa funzione di utilità a una riga. C'è davvero molto motivo per dividerlo così?
(Nota: sono pienamente consapevole che questa non è esattamente la vita o la morte. Non ho intenzione di perdere il sonno su di esso, mi sto solo chiedendo cosa avrebbero fatto gli altri in questo tipo di situazione. )
(L'ultima cosa: qualcuno potrebbe voler aggiungere tag migliori a questo, è la mia prima domanda Programmers :))