Khi bạn gặp phải đang hoạt động mã không phù hợp với mắt, bạn có khả năng tái cấu trúc mã đó như thế nào? Tôi biết mã thẩm mỹ chủ yếu là chủ quan, nhưng tôi bị làm phiền rất nhiều bởi mã "xấu xí" và thấy khó cưỡng lại sự thôi thúc làm sạch nó.Bạn có buộc phải loại bỏ cú pháp cú pháp không?
tôi không thích:
chức năng nặng làm tổ
AndFinally(AndThenDoThis(DoThis(strVar, 1, DoThat("February"))), FetchValue(0))
Bất kỳ ngoặc hơn, dấu phẩy, và ampersands hơn mức cần thiết
CType(ctlGrid.DataSource, DataView).RowFilter = "HourlyRate > 100.00"
và sẽ cân nhắc việc thêm một phương pháp (hoặc phương pháp khuyến nông) để có được
ctlGrid.DataView.RowFilter = "HourlyRate > 100.00"
luân phiên, tôi sẽ thay đổi:
rows = tblEmp.Select("AnnualEarnings > " & dEarnings.ToString & " AND Position = '" & strPosition & "'")
này:
rows = tblEmp.Select("AnnualEarnings > ? AND Position = ?", dEarnings, strPosition)
Bây giờ đây là một chút cực đoan, nhưng tôi thậm chí sẽ mất một thành ngữ phổ biến, giống như việc tìm kiếm mục đầu tiên trong một mảng và cung cấp phương thức cho nó:
row = tblEmps.Select("Position = 'Manager'")(0)
be đến (và, tôi nghĩ, là dễ đọc hơn):
row = tblEmps.Select("Position = 'Manager'").First
Khi tôi thấy điều này nó làm tôi điên
frmMain.grdEmployees.colName.Bold = True
frmMain.grdEmployees.colName.Font = "Arial"
frmMain.grdEmployees.colName.BackColor = "lightyellow"
và, đối với những gì tôi tìm thấy dễ dàng hơn với đọc, tôi kết thúc lên với:
With frmMain.grdEmployees.colName
.Bold = True
.Font = "Arial"
.BackColor = "lightyellow"
End With
Tôi có thể tiếp tục với điều này. Tôi tập thể dục chăm sóc tuyệt vời để tái cấu trúc chỉ thỉnh thoảng dẫn đến việc giới thiệu một lỗi - thường là một lỗi ngắn, có tác động thấp.
Không phải tất cả mọi người trong công ty của chúng tôi đều đồng ý với loại điều này, nhưng tôi tin rằng đó là một lợi ích để bảo trì lâu dài. Tôi đọc "Don't Make Me Think "của Steve Krug vài năm trước. Tôi cho rằng cuốn sách này (mặc dù hướng tới thiết kế web) ủng hộ mã được viết theo cách mà nó giảm thiểu nỗ lực tinh thần cần thiết để tiêu hóa nó. Trong hầu hết các trường hợp, với tôi, điều này có nghĩa là thể hiện cùng một mã trong ít dòng hơn, nhưng không bao giờ theo một cách phức tạp, khó hiểu. trong? bạn có xem xét thực tế điều này có lợi hơn hay có hại nhiều hơn?
Đó dường như là những đặc điểm tốt. Mặc dù nó giúp nếu ngôn ngữ cho vay chính nó để làm việc xung quanh vấn đề như vậy (chẳng hạn như parens thêm). – MichaelGG
Một số trong số này là hiển nhiên, nhưng một số là chủ quan. Cá nhân tôi không thích khối "với". –