Week4-作业1:阅读笔记与思考
我在这三天时间里阅读了《构建之法》的第四章和第十七章,产生了一些疑问和深层次的思考。
第四章
问题1:
书中第68页提到“注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊字符”。
书中的这句话和我之前一直以来的习惯大相径庭,所以我去查了论坛,看看已经工作的程序员对此的看法:
可以看到很多程序员在日常开发中也使用中文注释。书中的观点是从编码的规范角度考虑,ASCII不含中文字符,可能编译后会造成中文乱码,也会影响可移植性。但现在的编译器大多支持中文,程序员也可以避免中文乱码,中文注释也更加通俗易懂。所以虽然英文注释更加规范,但也有不少程序员使用中文注释。书上这句观点是不是太绝对了,还是说存在其他原因所以不能使用中文注释?
问题2:
书中第67页提到“注释是为了解释程序做什么,为什么这样做,以及要特别注意的地方”。
我在之前一次作业四则运算中就产生了疑问:到底哪些地方应该加注释,哪些地方没有必要加注释。百度百科中关于注释的作用给出的解释是:注释是为了方便自己阅读,为了别人更好地理解自己的程序,方便复审和修改。程序中不要通篇注释,但也要适当注释。所以如何界定一段代码需不需要注释?根据难易程度?但每个人的知识程度不一样,有些人一眼能看懂觉得这里没必要加注释,有些人却看不懂觉得需要加注释。究竟应该如何判断?
第十七章
问题3:
书中第396页提到的绩效管理。作者先是提出了从工作量、资历、效率等单个角度评定的方法,然后一一指出了不足之处,否定了。然后提到了有些公司采用的二维评价体系。
结合第四章的内容,我对结对编程中的两个人如何绩效管理产生了疑问。因为结对编程是两个人共同完成,谁也不能说自己比另外一个人贡献大,这种情况下怎样绩效考核?
问题4:
书中第406页提到的软件工程师的职业道德“软件工程师的行为应与公众利益一致”。
看到这里我想到了市场上的各种火车票抢票软件,这些软件照顾了使用该软件用户的利益,但损害了其他老老实实抢票人的利益。公众的利益很难兼顾,所以这种行为是不是有违软件工程师的职业道德?