单元测试必须由最熟悉代码的人(程序的做者)来写。git
虽然理论上来说没有人会比做者更了解本身的代码,但正因如此,做者每每只能查验那些他在编写过程当中就已经考虑到的问题,没法发现本身没有考虑到的问题。在实际工程中,测试和代码编写每每是两个不一样的部门来负责,所以我认为结对互相编写单元测试可能会更好(前提是知道对方的需求)。github
函数最好有单一的出口,为了达到这一目的,可使用goto。只要有助于程序逻辑的清晰体现,什么方法均可以使用,包括goto数据库
goto函数真的有必要使用吗?由于不少时候为了简便,并不想设定惟一出口,以往的编程中没有这个习惯。编程
代码复审和单元测试的区别在哪?后端
身边的不少同窗都有考计算机二级,然而我问了一下同系的同窗,基本上没有人去考过级,这种考级对于咱们真的有必要吗?它并不像导游证之于导游专业,会计证之于会计专业那样不可或缺吧。网络
在上学期的一些课程中,我所在的团队常常召开会议,可是每每是无功而返,最终什么都没有改变(就像老师提到的“过后诸葛亮会议”)。在这学期的软件工程课程中,长达十五周的团队项目确定须要开不少会议,尽管书中已经给过一些建议,可是咱们当中并无一个相似PM的人,该如何避免重蹈覆辙呢?app
现在软件的用户体验,除了流畅和功能强大以外,用户每每但愿广告可以尽量的少,但在软件开发者的角度考虑,广告投放彷佛是必要的。虽然在咱们的课程中没必要考虑这个问题,但在实际运用中如何投放不会让人反感的广告呢?分布式
不但大众不喜欢创新,甚至连创新者本身都不例外,有些创新者甚至恨创新。函数
在这一部分中,老师提到了电报和电话的矛盾。实际生活中,雅虎和阿里巴巴彷佛更让人熟悉。同是互联网大头,一个捷足先登却不思进取,另外一个追求创新后来者居上。在互联网时代,拒绝创新彷佛是致命的,可是在咱们的学习过程当中,咱们不断地去了解基本概念,不断的去学习那些旧知识。学校彷佛没有考虑为咱们灌输新兴思想(AI算是当下正火的),这是为何呢?单元测试
“软件”的概念最先由阿兰图灵在1935年提出,但也有人认为软件正式出如今1958年John Turkey的论文中。
“软件工程”的概念最先由Margaret Hamilton在1968年联邦德国召开的会议上提出。
《美丽心灵》上映后,有记者采访纳什:电影拍得真实吗?恐怕艺术加工的成分很大吧。纳什:你说得对,其实查尔斯没那么高。
——查尔斯是约翰纳什臆想中存在的室友。
著名计算机科学家Donald Knuth(高德纳)写的排版软件TeX版本号能够算是个趣事,从TeX第三版开始,以后的升级是在小数点后加入一个新数位,使之愈来愈接近Pi的值。TeX目前的版本是3.1415926。
一、github:约31,000,000用户量
二、SourceForge:约3,700,000用户量
三、Bitbucket:约5,000,000用户量
四、GitLab:约100,000用户量
Git:
1.是一个开源的分布式版本控制系统,能够有效、高速地处理从很小到很是大的项目版本管理。
2.速度快、灵活,分支之间能够任意切换。
3.离线工做,不影响本地代码编写,等有网络链接之后能够再上传代码,而且在本地能够根据不一样的须要,本地新建本身的分支。
4.对初学者不够友好。
5.国内速度较慢。
Trac:
1.有着良好的扩展性。
2.Trac的权限体系是比较完备的设计。
3.须要安装不少插件,较繁琐。
BUGZILLA:
1.检索功能强大。
2.后端数据库支持功能强大。
3.配置文件较复杂。
4.本地化不够友好。
Mercurial:
1.命令兼容SVN。
2.扩展性强,append only的存储结构。
3.不少命令有双字母的简称,使用起来方便。如hg commit的简称为hg ci。
4.功能太过简陋。