您的位置:首页 > 编程语言 > C#

《C#敏捷开发实践》读书整理

2018-02-27 12:40 295 查看
《C#敏捷开发实践》是一本相当不错的良心之作。本书分为两个部分:

第一部分:讲了敏捷开发的一些原则,书中列举了一些很不错的实现例子。本书主要使用的是Scrum的敏捷开发流程
第二部分:通过一个具体开发过程中的实践,讲了如何应用这些模式。


对于本书的理解

本书讲解了C#敏捷开发,首先我们承认没办法做出一个大而全的软件,没办法一次性的完成用户的需求。所以我们需要去拥抱变化,采用迭代的方式逐步去适应客户提出的需求。而适应市场,拥抱变化需要做几方面的改变,首先我们需要采用更加敏捷的开发流程,其次在开发中我们需要一些技术手段,去实现自适应的系统

关于敏捷开发的理解

首先本书中介绍了Scrum敏捷开发的一般流程。个人理解的Scrum是把一个产品通过迭代演化的方式分为若干个阶段(冲刺)来开发,在每个开发中,完成一个最小可以演示的单元。把要开发的内容,从用户的角度去讲几个故事,然后把这些故事去分成开发任务,去一一实现。因为我们承认我们开发的软件是不完整的,需求会不断的变化,所以我们采用了迭代开发的方式进行开发,而迭代开发就需要我们去拥抱变化,同时快速的相应市场。

Scrum开发中的角色

项目负责人 主要是负责和客户进行沟通,把客户的需求转化为故事,同时组织团队进行评估、开发和验收

scrum负责人,负责组织敏捷开发的流程,对开发中的问题,反馈进行记录

开发团队,负责实现故事点的开发,同时完成自己的单元测试

测试团队,负责测试开发人员完成的开发工作。

scrum的一些基本的流程

首先要进行开发大会,对开发进行评审。

把用户对产品的需求进行拆分,按照阶段进行迭代。从最小的可演示单元到最小可市场化的产品,再到逐步丰满,完善的产品。

然后把若干个可形成第一次的可以演示的故事挑选出来。同时对故事的开发难易程度进行评估,评估的结果以故事点的形式进行呈现出来。

然后挑选可以在1-2周可以实现的故事,分解成开发任务。

开发人员进行开发,在开发的过程中努力的分析可能存在的变化,去开发一个可以拥抱变化的自适应系统。

开发人员在开发过程中,需要测试驱动开发,测试说明了功能意图和实现的边界,能满足测试需求的功能点,才可以满足需求

在开发过程中,要逐步优化和重构。

开发完成后,交付测试人员,完成测试

组织演示,让利益相关人员进行参与,提出需求和意见,行程挤压工作。

开敏捷总结大会,找出什么是做的好的,什么是做的不好的,那些需要改进,那些需要坚持,那些实出乎意外的。

然后再次进入这个循环,同时敏捷开发的负责人需要把进度记录到scrum板上。

scrum的一些名词

猪:全身心参与开发的人

鸡: 参与开发,但是非全身心

Scrum板:记录scrum的一些开发过程

冲刺:把若干故事点进行罗列,进行一个阶段的开发,完成一个最小的可演示产品

挤压工作: 待开发完成的故事点

每日站立会议:需要在每天,站立说明自己做过的工作和将要计划的工作,以及遇到的问题

自适应系统的一些概念

软件工程的SOLID原则

单一职责原则

开闭原则

Liskv置换原则

接口分离原则

依赖注入原则

原则自适应的一个特征

应该尽量减少软件的依赖,同时避免无需的依赖,软件应该依赖于抽象,而不是依赖于实现。所以在软件开发中,尽可能的灵活使用接口,隔离变化是做好自适应系统的主要难点。

而多种设计模式都是为了更好的做出自适应系统。

依赖接口而非依赖实现的好处

方便隔离变化,软件的实现和细节无关

方便单元测试

有利于软件的重构和优化

可能会降低软件的可读性

书中讲到的集中常用的设计模式

括谓语修饰器

分支修饰器

延迟修饰器

日志记录修饰器

性能修饰器

异步修饰器

属性和事件修

空对象模式

策略模式

学会的几个新的词语和方法

代码味道

模式和反模式

scrum开发

修饰器的详细模式

逆变和协变

空对象模式

阶梯模式和随从反模式

纵切关注点

下一步如何深入学习和研究

把修饰器模式的代码,认证的自己敲打一遍,增加印象

把书中第二部分的代码从Github上下载下来,自己研究一遍,同时敲打一遍

买几本Scum的书,认真的学习,并且在实践中去贯彻。

抽点时间搜索和研究学习下逆变和协变。

抽点时间,再认真的下载几个开源项目学习下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: