读《构建之法》第四、十七章

读《构建之法》第四、十七章

第四章讲结对合作,一方面强调代码设计的规范性,另一方面写了两人合作彼此之间的影响及对项目的影响。

问题:为什么使用中文字符或一些特殊字符会对程序造成影响?

原文:注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊字符,否则会极大影响程序的可移植性。

在上学期JAVAEE课程中,学了有关解决中文乱码的问题。像是Python,css,在编译过程中都可能因为中文出现乱码问题。以Python为例,查百度,有网友言:

“由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。”

顺便一提,方法是在Python脚本文件的第一行或第二行添加一句:

#coding:gbk或#coding:utf-8或##-*- coding : gbk -*-

很多类似中文注释乱码问题属于编码问题,一般将编码设为UTF-8就可以了。

因为在打代码时使用的编辑器或是其他软件是国际版的,在处理中文时不像处理英文那样。我想像是jdk在处理Java文件时也是要先读取文件内的所有内容,包括注释。那么在处理中文时便有可能出现识别不了中文的情况,从而出现乱码。所以即使不执行注释内容,注释内容还是可能对程序有影响。不知道对不对?

问题:为什么不用中文注释?

原文:注释(包括所有源代码)应该只用ASCII字符,不要用中文或其他特殊字符,否则会极大影响程序的可移植性。

还是这一句引发的思考。对于Python等的编码问题,都有了相应的解决办法。关于其他原因导致的中文乱码问题,也有很多规避及解决的办法。既然有了这么多解决办法,为什么还要执着于英文注释呢?

我国企业中并不是所有人(可能大多数都没有)的英语都达到了英文注释一看就懂,就像阅读中文一样的水平。上网看了一下,用中文注释还是用英文注释现在依然是一个仍在争论的问题。有的已从业人员吐槽,维护项目时对一些英文注释感到心累,即使过了英语六级,还是要用到有道翻译才能看的懂。以中文为母语的我们自然觉得阅读中文更加得劲啊,那么效率应该是比用英文要好很多嘛。而且操作得当的的话,中文乱码的问题也不会有。解决了乱码问题,用中文注释似乎比英文还要好一些,它方便,易懂,对于维护的人来说也相对友好。

注释的目的就是在于让自己和他人都能读懂代码,清楚各部分的功能。当然并不是所有注释都用中文,中英文结合有时比纯中文更易懂。所以把一些中文注释换成英文是很有必要的一件事吗?

第十七章,人,绩效和职业道德。

这一章中,更多的谈论的是人的问题。怎么管理人,约束人,用人,既说的是自己,又说的是别人。

问题:怎么看待雇主利益与客户,公众利益之间的平衡?

原文:《软件工程师职业道德规范和标准》原则二:软件工程师应以其客户和雇主利益最大化的方式做事,与公众利益保持一致。

最近手游界比较流行抽卡式的游戏,许多公司闻风而动。抽卡游戏有点像买彩票,小概率中奖,小概率抽到稀有的卡片。为了抽到想要的稀有卡牌,游戏用户纷纷打开了他们的支付宝,大量充值以兑换抽奖次数。官方往往会放出每种卡牌的获得概率以此来刺激客户更多充钱,

但实际上又会暗地里偷改概率,让本来可以充十次就获得稀有卡牌的客户用了抽十五次的钱才达到游戏公司宣传的十次的效果。这已经算是侵犯了消费者的利益,也就是不符公众利益。但对雇主公司来说,该工作室的游戏使其获得了更多的利益,让雇主利益得到了充分的满足。一些有闲钱的游戏爱好者对大量卡牌游戏抽到卡牌的概率进行了砸钱式的测评,发现统计后的概率与游戏公司有差距。还有一些,比如游戏技能释放命中概率都可能被暗改。也就是说,行规如此。面对这种心照不宣的“规则”,游戏用户们在不满游戏公司时也不免斥责夹在中间的工作室的程序员们。作为程序员,面对雇主利益和用户利益的冲突该偏向哪边呢?

posted @ 2018-03-31 22:52  杨柳堤上  阅读(104)  评论(2编辑  收藏  举报