我知道这篇文章很古老,但是格式正确的代码永远不会过时。
我将所有程序都使用此模板。有些人不喜欢冗长的代码和注释,但是由于某些人经常需要更新自90年代中期以来未曾涉及的存储过程,因此我可以告诉您编写格式良好且注释严重的代码的价值。编写的内容尽可能简明扼要,有时可能需要几天的时间才能掌握该过程的意图。仅通过阅读就可以很容易地看到代码块的功能,但要难得多(有时甚至是不可能)是在没有适当注释的情况下理解代码的意图。
向您解释它,就像您正在经历初级开发人员一样。假设阅读它的人对它要解决的功能领域一无所知,并且对SQL的了解有限。为什么?很多时候,即使他们无意或不愿意对其进行修改,人们也必须查看程序以理解它们。
除了此标头之外,您的代码还应该经过注释,并从上到下概述。向主要功能部分添加注释块,例如:
添加许多内联注释,解释除最基本条件以外的所有条件,并始终设置代码格式以提高可读性。缩进代码的垂直长页面比宽而短的页面好,并且在其他人支持您的代码的情况下,更容易查看代码块的起始位置和结束时间。有时,宽大的,非缩进的代码更具可读性。如果是这样,请仅在必要时使用它。
UPDATE Pallets
SET class_code = 'X'
WHERE
AND class_code != 'D'
AND class_code = 'Z'
AND historical = 'N'
AND quantity > 0
AND GETDATE() > DATEADD(minute, 30, creation_date)
AND pallet_id IN (
SELECT Adjust_ID
FROM Adjustments
WHERE
AdjustmentStatus = 0
AND RecID > @MaxAdjNumber
编辑
我最近放弃了横幅样式注释块,因为随着时间的推移更新代码时,顶部和底部注释很容易分离。您可以在注释块中以逻辑上分开的代码结尾,这些注释块属于同一注释,这会产生比其解决的问题更多的问题。我已经开始用BEGIN ... END块围绕多个语句部分,并将流注释放在每个语句的第一行旁边。这样的好处是,您可以折叠代码块并能够清楚地阅读高级流程注释,并且当您打开一个分支时,您将可以对其中的各个语句执行相同的操作。这也非常适合于高度嵌套的代码级别。当您的处理程序开始爬入200-400行范围并且没有变化时,这是无价的
展开式
倒塌