程序=数据结构+算法

软件开发的不同阶段

1、玩具阶段2、业余爱好阶段3、探索阶段4、成熟的产业阶段

软件工程是把系统的、有序的、可量化的方法运用到软件的开发、运营和维护的过程。

软件的特殊性

1、复杂性2、不可见性3、易变性4、服从性5、非连续性

一个好的软件体现在

1、用户满意度2、可靠性3、软件流程的质量4、可维护性

好的单元测试的标准

1、单元测试应该在最基本的功能/参数上验证程序的正确性。

1、单元测试必须有最熟悉代码的人来写。

3、单元测试过后,机器状态保持不变。

4、单元测试要快。

5、单元测试应该产生可重复、一致的结果。

6、单元测试的运行/通过/失败不依赖于别的测试,可以人为构造数据,以保持单元测试的独立性。

7、单元测试应该覆盖所有代码路径。

8、单元测试应该集成到自动测试的宽家中。

9、单元测试必须和产品代码一起保存和维护。

初级软件工程师成长的几种方式:

1、积累软件开发相关的知识,提升技术技能。

2、积累问题领域的知识和经验。

3、对通用软件的设计思想和软件工程思想的理解。

4、提升职业技能。

5、实际成果。

软件开发的工作量和质量的衡量

1、项目/任务的大小。2、所花时间的多少。3、项目/任务的质量。4交付的时间。

 在过去我很少在意上面所述的咩容,我在编程的时候,不分阶段,也不在意质量,还有经常延缓交付时间,这使我逐渐养成了非常严重的毛病。

我个人的学习进展开始与别人拉开了距离,归其原因有以下几点:

开发过程不进行代码测试,导致漏洞百出,查找改正也跟不上进度。

由于前面浪费了大量时间,后面无法按时完成,从而造成无法按时交付。

另外就是我编写的软件能实现基本功能,但是会有很多bug.

我需要逐渐改掉这些毛病,首先要做的就是,编程要细心,多注意细节,总结经验,部分复杂算法要多做测试,再写入程序。以此提高个人的编程效率,从而能按时交付软件。有多处的时间,才能更好的完善软件,减少bug。

posted on 2017-03-05 21:55  胡泽杰  阅读(157)  评论(4编辑  收藏  举报