在第二章个人技术和流程中,我知道软件是由多人合作完成的,不同人员的工作相互有依赖关系。例如,一个人写的模块被其他人写得模块调用。软件的很多错误都来源于程序员对模块功能的误解、疏忽或不了解模块的变化。如何能让自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证?单元测试就是一个很有效的解决方法。
效能分析工具有两种抽样和代码注入。
实践是学习软件最快的方法,基本作业:从Hello World开始,实践最简单的项目:WC,我们要保证质量就要回归测试。
在第三章软件工程师的成长中,个人能力的衡量与发展软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。在团队的大流程中,是每个具体的个人在做开发、测试、用户界面设计、管理、交流等工作。因此个人在团队中也有独立的流程。软件领域可以分为两个方面:一方面是技艺创新的大爆发;而另一方面是坚持不懈的工程工作,包括软件的改善、维护和测试等,对于这些任务,一个成熟的软件工程师应该能够降低任务交付的时间的标准差。如果你能长时间稳定而按时地交付工作的结果,内部和外部的顾客就会对你的工作有信心,更喜欢与你合作
以开发人员为例,流程如下通过交流、实验、快速原型等方法,理解问题、需求或任务提出多种解决办法并估计工作量其中包括寻找以前的解决方案,因为很多工作是重复性的与相关角色交流解决问题的提案,决定一个可行的方案执行,把想法变成实际中能工作的代码,同时验证方案的可行性和其他特性和团队的其他角色合作,在测试环境中测试实现方案,修复缺陷。如果方案有严重的问题,那么就考虑其他方案。在解决方案发布出去之后,对结果负责
软件工程师的职业发展,很少有人能在学校里掌握这么多知识后才毕业找工作,随后把技术运用在实践中。工程师应该在实际工作中不断学习和不断成长,根据自己的情况选择在哪个方面追求“专和精”,在那几个方面达到“知道就好”的水平。我们对于知识要知齐然还要知齐所以然,