构建之法第三次心得

author author     2022-08-29     593

关键词:

构建之法 第四、五章心得

学习了第四第五章之后,我了解到了两人合作的注意要点,还有团队和开发流程。软件都是在相互合作中完成的,合作的最小单位是两个人。每个人的标准都不一样,对于什么是好的代码规范未必认同,所以我们需要给出一个基准线,即什么是好的代码规范和设计规范。

代码规范可以分成两个部分,一是代表风格规范,主要是文字上的规定,看似是表面文章,实际上非常重要。二是代码设计规范,牵涉到程序设计、模块之间的关系、设计模式等方方面面的通用原则。代码风格的原则是:简明、易读、无二义性。这里可以从几个方面来阐述代码风格规范。

1.缩进,在写代码时,4个空格的距离正好。

2.行宽,行宽必须限制,现在可以限定为100字符

3.括号,在复杂的条件表达式中,用括号可以清晰地表示逻辑优先级

4.断行与空白的{ }行,这样可以很容易看清结构和对应关系

5.分行,写代码时,不要把多个变量定义在一行上

6.命名,在变量面前加上有意义的前缀,程序员就能一眼看出变量的类型及相应的语义

7.下划线,下划线用来分隔变量名字中的作用域标注和变量的语义

8.大小写,便于区分由多个单词组成的变量名

9.注释,有了注释,才能解释程序做什么,为什么这么做,以及要特别注意的地方。

对于程序的错误处理,有参数处理和断言两种,所有的参数都要验证其正确性。对于C++中的类有以下几种处理方法:类,class vs.struct,公共/保护/私有成员,数据成员,虚函数,构造函数,析构函数,newdelete,运算符,异常,类型继承。

除了代码规范,我们还要进行代码复审。代码复审是看代码是否在“代码规范”的框架内正确的解决问题。在软件工程中,最基本的复审手段,就是同伴复审。代码复审可以找出代码的错误,或者说一些不符合 团队代码规范的地方,也可以让更多的成员熟悉项目各部分的代码,同时熟悉和应用领域相关的实际知识。如果我们不开发实际的软件,就只能在表面上完全掌握,所以要在实践中学习。

要注意避免不必要的繁文缛节,因为我们做代码复审的目的是为了减少错误的发生。我们还需要一个代码复审的核查表,在实际项目中,我们可以加上自己认为重要的注意事项:概要部分、设计规范部分、代码规范部分、具体代码部分、效能、可读性、可测试性。虽然代码复审很好,但是我们还是应该进行结对编程。在结对编程中,因为有随时的复审和交流,程序各方面的质量取决于一对程序员各方面水平较好的那一位。

软件团队有很多种形式,适合不同的人员和需求。有主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式。不同的团队应根据团队本身选择各自的团队模式。

从瀑布模型开始的各种模型都有一个特点:重计划、重事先设计、重文档表达。RUP把软件开发的各个阶段整合在一个统一的框架里。要完成一个复杂的软件项目,团队的各种成员要在不同阶段做不同的事情,这些不同类型的工作在RUP中叫做规程或者工作流。不同的软件设计有不同的流程,如RUP统一流程,老板驱动的流程,渐进交付的流程。

在团队合作中,我们都应该清楚的了解自己的定位,做好自己的本职工作,并且尽力配合团队中其他成员,一起完成设计。

构建之法第五次心得

构建之法9、10、11章第九章学习了第九章之后,了解到了在一个项目中项目经理的重要性。生活中,无论什么团队工作,都需要一个领队,来掌控团队项目的发展,以及各个成员工作的分配。PM指ProductManager、ProjectManager、ProgramMan... 查看详情

构建之法第六章学习心得

这周我学习了构建之法第六章敏捷流程,本章主要介绍了敏捷流程及其原则,Backlog、Burn-down、Sprint、Scrum方法论。以及什么时候选择敏捷的开发方法,什么时候选择其他方法。.敏捷开发的原则是尽早并持续地交付有价值的软件... 查看详情

构建之法第八章学习心得

今天,我学习了构建之法第八章软件需求,人们为了解决现实社会和生活中的各种问题,要求助于软件。人们的需求五花八门,那么软件团队如何才能准确而全面地找到这些需求呢?需求分析1.获取和引导需求软件团队需要找到... 查看详情

构建之法第六次心得

构建之法12、13章小结第12章这一章讲的是用户体验,对于软件的使用,用户的体验是非常重要的方面,如果一个软件给用户的体验不好,那么这个软件无疑是不会受到欢迎的。但是用户体验和用户界面的领域不是那么容易的,这... 查看详情

构建之法第七次心得

构建之法14、15章总结第14章这一章讲的是质量保障。在我们做软件的时候,最重要的是质量,如果做成功的软件质量不过关,那无疑是白费心血,浪费时间。程序的质量体现在软件外在功能的质量,用户体验的质量,国际化的质... 查看详情

构建之法第四次心得

第六章学习了之前的内容之后,我了解到了团队合作的流程以及在编码时候一些格式的注意,在学习第六章后,对敏捷流程有了大致的了解。敏捷流程是一种很好的软件开发的流程,我认为在软件开发时,敏捷开发可以使得软件... 查看详情

构建之法第五章读书心得

这一章我们主要学习了团队和流程。团队简而言之就是开发一个软件工程的团队,那么团队究竟怎样在一起开发这一软件便有了多种多样的方法。比如所有人都一起做的一窝蜂模式,但这样模式弊端很大,虽然都做了许多工作,... 查看详情

构建之法第三四五章

第三章软件工程师的成长1.个人能力的衡量与发展初级软件工程师如何成长:(1)积累软件开发相关的只是,提升技术技能。例如:对java、c、c++,c#的掌握,诊断提高效能的技术,对设备驱动程序、内核调试器的掌握;对于某... 查看详情

构建之法第三四五章读后感

一个优秀的软件工程师都需要和团队的合作,所以通过这几章的阅读,对自己的编程的规范等有了一定的认识,也学会了一个优秀的软件开发人员应当具备的素质。软件开发流程不光指团队的流程,还包括个人开发流程,因为软... 查看详情

构建之法第15,16章

15稳定和发布阶段在稳定阶段的初期,团队只要决定需要修复哪些缺陷,然后团队成员就会进行必要的设计、实现、测试工作,并签入代码修改。但是,随着项目进展和发布日期的临近,团队还要保证修改方案不会给产品带来负... 查看详情

构建之法第十章学习

第十章讲的是关于典型用户和场景的内容。在第一节当中,为我们介绍了VisualStudio的典型用户、典型用户的价值、怎样定义典型用户还有从典型用户到场景到任务的转变,还简单介绍了场景故事story的模板;在第二节当中,为我... 查看详情

《构建之法》第三次

本周着重阅读了《构建之法》的第三章:软件工程师的成长。  软件工程包括了开发、运营、维护软件的过程中的很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫“软件开发流程”... 查看详情

构建之法第三章读书心得

  在构建之法第三章中,我们主要学习了个人能力的衡量与发展。  初级软件工程师有以下几个成长阶段:1、积累软件开发相关的知识,提升技术技能。                   2、积累问题领域的知识和... 查看详情

构建之法阅读心得

构建之法第六章,本章为敏捷流程,主要介绍了敏捷流程及其原则,Backlog、Burn-down、Sprint、Scrum方法论,各种软件开发方法论的优缺点,选择软件流程根据等。敏捷开发:是一系列价值观和方法论的集合敏捷开发的原则:1、尽... 查看详情

《构建之法》小组第三次

   这周我们小组学习了《构建之法》的第四章,从中知道了很多代码规范的各种原则,这些原则在编程时约束我们,可以使我们的程序更加规范化,可读性更高,便于复审,测试和修改。   代码规范可以分... 查看详情

《构建之法》第三次随笔

 从《构建之法》前两章的阅读学习中,我了解到了软件工程的概论,知道了“软件=程序+软件工程”,明白了个人技术和流程。阅读了第三章之后,我体会到了软件工程师的成长。 软件工程包括了开发、运营、维护软件... 查看详情

《构建之法》第三章学习心得

这周我学习了《构建之法》第三章,讲述了软件工程师的成长。软件系统的绝大部分模块都是由个人开发或维护的。在软件工程的术语中,这些单个的成员叫做Individ-ualContributor(IC)。IC在团队中的流程是怎么样的呢?以开发人... 查看详情

构建之法第五周感想敏捷流程和msf

这周我学习的是敏捷流程和MSF的知识。敏捷流程是一系列价值观和方法论的集合。敏捷开发的原则是:1.尽早并持续交付有价值的软件以满足顾客的需求2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。敏捷... 查看详情