读《构建之法》第四章、第十七章有感
读《构建之法》第四章、第十七章有感
引言:
读了构建之法第四章、和第十七章之后,博有感触。我很庆幸能和吕国馨结队,即使她有点自恋。并且我也很荣幸能和你们组队。希望在接下来的合作中,我们同舟共济完成项目。
第四章
原文:
断行和空行的{}行
作者认为,这样的代码格式是做好的:
{ //代码 }
我也是这样认为的。但是当你们打开一些语言编译软件时,他们都自带一套代码规范的功能,比如eclipse编译软件,当我们点击Format Element时,他会自动整理代码。
问题一
大家发现,整理好后的代码,并不是作者说的那种情况。那为什么会这种呢?是因为这种模式的代码比较少吗?代码行数少真的这么好吗?
通过网上搜索:网友说:这是两种不同的风格,并没有规范一说。如果你和别人一个团队进行开发,跟着团队的风格来就可以了。
个人认为:网友说的挺对的,当我们团队开发时,代码格式应该跟着队友。但是当自己编程时,我们应该按着作者的那这种代码格式。即使行数会增加,但是更有利于我们阅读、和修改。但是为什么eclipse会是那种格式呢?只是代码行数变少了吗?请同学们给予帮助,谢谢!
原文:
只要有助于程序逻辑的清晰体现,什么方法都可以使用,包括goto语句。
问题二
这句话合理吗?
个人认为:我认为这句话不对。
1、在程序比较简单时 用goto语句是比较灵活,但是当程序比较复杂时很容易造成程序流程的混乱。并不有利于逻辑的清晰表达
2、利用goto语句对以后的人 看程序是很难理解,不利于维护。
3、调试程序的过程也会变得很困难,大家应该知道有些编译软件是不支持goto语句的,比如一些版本的CodeBlocks。
4、现在我们提倡线性编程或者说是顺序编程。Goto的强制跳转违背了这一原则。
我看到别人的博客,老师评论说,当你用五重for循环时,用goto会更简单。
1、为什么非要五重for循环,用递归不更方便?如果是八皇后问题,那你要写八重循环。
2、可以用函数封装,用return;返回。
这两种方法可以实现相同的效果,所以不一定非要使用goto语句。
第十七章
原文:
一个团队中可能有五类人,做事的,不做事的,不让别人做事的,做假事的,假装做事的。
问题一
我们要成为哪种人?如何成为那种人?
答案很简单。毋庸置疑我们都想成为第一种人。那我们如何成为这种人呢?答案也很简单,就是做事呗。“但是我什么也不会呀”,每个人都有自己的长处和短处,请不要小看自己的实力。“对不起,拖你们后退了”,如果换成其他人,还不如你呢!我们都是演员,演绎着自己的角色,缺一不可。《移山之道》中还提出了:我的课只是小小的软件工程导论和项目,每个人都可以成为第一种人!
原文:
软件工程师应当终身学习以提高自身的专业水平,并在工作中实践中推动道德准则
问题二
看到这句话后,我想到了黑客。黑客有职业道德吗?
在这里我想阐明一个事实:黑客所做的不是恶意破坏,他们是一群纵横于网络上的技术人员,热衷于科技探索、计算机科学研究。
黑客也有自己的原则:
1、爱国:个人利益永远服从国家利益。
2、政治中立:远离政治与权利斗争。
3、同情弱者:站在任何形式霸权的对立面。
4、不媚俗,反对繁琐、秩序与传统。
我们应该以道德准则为基础,全方位提升自身的专业水平。黑客不是骇客,向黑客学习。(算不上问题,有感而发)
总结
在两人合作中我们应注意以下几点
1、代码规范,这是我们彼此交流的基础。这就好比语言,我们我们语言不通,那我们的交流就会遇到障碍。更别说代码复审和合作了。
2、代码复审,在代码规范之后,代码复审是必不可少的。就像图纸,在我们完成图纸设计之后,需要多方面的检查。如果在图纸还有错误的前提下我们还继续该房子,最后房子一定不合格。就像代码一样,最后完成了也会漏洞百出。
3、不同阶段,两人组队不可能直接就配合的很默契,要经历四个阶段萌芽阶段、磨合阶段、规范阶段、创造阶段。希望我们在接下来的合作日子中,互相影响,互相鼓励,互相帮助。
在团队合作中我们注意以下几点
1、我们要成为猪,我们要成为猪那样的人,做事的人,在团队中尽最大的努力的人。
2、如果我们是领导者或者是组长,我们要怎么分配组员奖金,如何进行绩效管理。我们不能只从一个方面进行分析,因为代码行数、工作时间、工作效率、资历、不犯错误都不能评价一个组员的贡献程度。
3、在编程之前,我们应该做足准备,仔细分析需求等,以免在完成之后花大量时间调Bug和改需求。
4、职业道德、职业道德是我们的底线,无才无德是废品,有德无才是次品,有德有才是正品,有才无德是危险品。所以我们应该遵守我们的职业道德,以大众和国家的利益为前提,再充实团队利益。