标签: self-documenting

程序员应该使用布尔变量来"记录"他们的代码吗?

我正在阅读McConell的Code Complete,他讨论了使用布尔变量来记录代码.例如,而不是:

if((elementIndex < 0) || (MAX_ELEMENTS < elementIndex) || 
   (elementIndex == lastElementIndex)){
       ...
}
Run Code Online (Sandbox Code Playgroud)

他建议:

finished = ((elementIndex < 0) || (MAX_ELEMENTS < elementIndex));
repeatedEntry = (elementIndex == lastElementIndex);
if(finished || repeatedEntry){
   ...
}
Run Code Online (Sandbox Code Playgroud)

这让我感到逻辑,良好的实践和非常自我记录.但是,我对于经常使用这种技术犹豫不决,因为我几乎从未遇到过这种技术; 也许只是因为稀有而令人困惑.然而,我的经验还不是很大,所以我有兴趣听听程序员对这种技术的看法,我很想知道是否有人经常使用这种技术或者在阅读代码时经常看到它.这是一个值得采用的约定/风格/技术吗?其他程序员会理解并欣赏它,还是认为它很奇怪?

boolean conventions self-documenting

78
推荐指数
4
解决办法
3509
查看次数

记录类属性

以下示例摘自"Dive into python"一书.

class MP3FileInfo(FileInfo):
    "store ID3v1.0 MP3 tags"
    tagDataMap = ...
Run Code Online (Sandbox Code Playgroud)

此示例显示记录MP3FileInfo,但如何向MP3FileInfo添加帮助.tagDataMap

python attributes class self-documenting

5
推荐指数
1
解决办法
230
查看次数