我有多个函数使用我需要注释的相同复杂代码行。
function thisFunction() {
[Some Code..]
// Comment for clarification
*complex code line*
}
function thatFunction() {
[Some Code..]
// Comment for clarification
*complex code line*
}
function anotherFunction() {
[Some Code..]
// Comment for clarification
*complex code line*
}
我看到的主要问题是必须使用完全相同的评论多次解释相同复杂代码的不同功能。
这违反了DRY原则。我的问题是,“解决这个问题的最佳做法是什么,仍然让读者理解我的代码?”
我的总体想法是只评论该复杂行的第一次使用。但是,如果他们正在阅读,我不知道这对其他人是否100%直观。
编辑:为了澄清,我在多个函数中使用了一行代码。我不知道是否应该保留重复的注释,只注释复杂行的第一次使用,或者创建一个当前函数可以使用的辅助函数,即使该辅助函数只包含注释和一个复杂的代码线。想法?
答案 0 :(得分:8)
将复杂代码封装到自己的函数中,并提供一次注释:
function thisFunction() {
[Some Code..]
complexCodeFunction();
}
function thatFunction() {
[Some Code..]
complexCodeFunction();
}
function anotherFunction() {
[Some Code..]
complexCodeFunction();
}
//comment for clarification
function complexCodeFunction(){
*complex code*
}
答案 1 :(得分:0)
如果复杂代码的所有行完全相同,应该可以将它们提取到一个单独的函数中:
function thisFunction() {
[Some Code..]
complexOperation();
}
function thatFunction() {
[Some Code..]
// Comment for clarification
complexOperation();
}
function anotherFunction() {
[Some Code..]
complexOperation();
}
function complexOperation() {
//comment for clarification
*complex code line*
}
如果复杂的代码行不容易提取或某些关键方面的行不同,我认为复制注释不是一个问题。 DRY原则主要适用于代码本身,注释是开发人员的澄清,因此代码更易理解。如果评论有助于读者更好地理解代码,则没有理由避免这种重复。