Cuando se encuentra con el código que no es agradable a la vista, ¿qué tan probable es que lo refactorice? Sé que la estética del código es mayormente subjetiva, pero me molesta mucho el código "feo" y me resulta difícil resistir el impulso de limpiarlo.¿Estás obligado a eliminar el cruft sintáctico?
No me gusta:
de función pesada anidación
AndFinally(AndThenDoThis(DoThis(strVar, 1, DoThat("February"))), FetchValue(0))
Cualquier más un paréntesis, comas y símbolos de unión de los necesarios
CType(ctlGrid.DataSource, DataView).RowFilter = "HourlyRate > 100.00"
y consideraría la adición de una método (o método de extensión) para obtener
ctlGrid.DataView.RowFilter = "HourlyRate > 100.00"
alternativamente, que cambiaría:
rows = tblEmp.Select("AnnualEarnings > " & dEarnings.ToString & " AND Position = '" & strPosition & "'")
a esto:
rows = tblEmp.Select("AnnualEarnings > ? AND Position = ?", dEarnings, strPosition)
Ahora bien, esto es un poco extremo, pero incluso me tomará un idioma común, como encontrar el primer elemento en una matriz y proporcionar un método para ello:
row = tblEmps.Select("Position = 'Manager'")(0)
ser viene (y, creo, es más fácil de leer):
row = tblEmps.Select("Position = 'Manager'").First
Cuando veo esto me vuelve loca
frmMain.grdEmployees.colName.Bold = True
frmMain.grdEmployees.colName.Font = "Arial"
frmMain.grdEmployees.colName.BackColor = "lightyellow"
y, con respecto a lo que me resulta más fácil de leer, termino hasta con:
With frmMain.grdEmployees.colName
.Bold = True
.Font = "Arial"
.BackColor = "lightyellow"
End With
Podría seguir y seguir con este tipo de cosas. Ejerzo gran cuidado para que la refactorización solo ocasionalmente resulte en la introducción de un error, por lo general de corta duración y bajo impacto.
No todos en nuestra compañía están de acuerdo con este tipo de cosas, pero creo que es una gran ayuda para el mantenimiento a largo plazo. Leí "Don't Make Me Think "de Steve Krug hace unos años. Diría que este libro (aunque está orientado al diseño web) favorece el código escrito de tal manera que minimiza el esfuerzo mental necesario para digerirlo. En la mayoría de los casos, para mí, esto significa expresar el mismo código en menos líneas, pero nunca de una manera engañosa y ofuscante.
¿Qué tan motivado está para mejorar la estética de los códigos? ¿Cuándo se va suficientemente solo y qué tipo de "fealdad" lo obliga a dar un paso? en? ¿se considera que esta práctica más beneficiosa o más perjudicial?
Esos parecen ser buenos rasgos. Aunque ayuda si el lenguaje se presta para solucionar estos problemas (como paréntesis adicionales). – MichaelGG
Algunos de estos son obvios, pero algunos son subjetivos. Personalmente no me gusta el bloque "con". –