2020-10-11

如何实现敏捷高效可持续改进的软件开发过程?

对于大部分软件编程来说,面向对象都是应该放在首位的编程思想和问题解决方法。你必须先对系统做高度的抽象,做好职责划分,让各层各模块高度解耦,只有这样,才能实现一个富有弹性能轻松自如应对变化和新增需求的复杂系统。经过良好设计的软件几乎每个部分都可以独立改进,无限精细化,也可以被替换,为持续改进打下很好的基础。如果想要系统性深入的学习了解,可以找设计模式、敏捷软件开发和极限编程方面的书籍看看,尤其推荐《敏捷软件开发-原则、模式与实践》这本书。

 

当然,如果你只是做一个简单的功能,或者只是做一些表层模块,或者你仅仅想尽快把功能搞定,你是不能体会到面向对象层层封装所能带来的好处的,这时你只需要使用面向过程的思想就足够了。但无论何种方式,必要的备注能为你和他人节约大量的精力。设想一下,你只需要读一下备注就能迅速回忆或者了解某个类或函数的功能,与你需要读了整个类或函数的代码才能猜测或确定其意义,工作量相差是多么巨大。所以代码备注也是非常重要的。

 

其实不止代码备注非常重要,数据库的备注也能给我们带来很大的便利。但是代码备注可以放在开发者最需要了解它的地方(调用它的地方或者实现它的地方常常是程序员正好想了解它的地方),而数据库相对的独立性和数据库备注及其查询不方便的原因,几乎让所有的人都放弃了数据库备注。通常,我们可以在设计之初就用文档写明数据库设计,但是具体的实现过程中你会发现设计不可能面面俱到,程序员也不可能受文档的束缚,文档很快就显得粗糙而且过时了。有时在比较严格的情况下,经理可能会要求开发人员注意时刻维护文档的准确性,但这大大加大开发人员的负担,通常这是不现实的。有时经理会要求在基本完成开发工作之后再维护设计文档,但这通常会形式化,因为肯定会有大量重要信息被遗漏。所以,用外部文档来维护数据库备注,可以说基本是行不通的。

 

善用工具,善于借助工具达成自己的目标,也是一个优秀开发者和管理者重要的能力,实际上对于数据库备注的管理,也是有一些工具能给我们提供帮助的。这里重点给大家介绍一款针对性强的数据库备注管理工具:DbRemark。应用DbRemark你可以直观方便的给数据库中表、列、视图、函数或存储过程等添加标题和描述,并即时分享给其它团队成员,这些备注信息能为你今后迅速回忆、准确使用、持续改进带来很大帮助,同时也是留给其他团队成员的重要信息。同时DbRemark做为数据库客户端软件,可以用来查询表、视图、函数和存储过程,或者用来执行SQL,此外,DbRemark提供不少其他工具很难实现或者根本没有提供的功能,比如,可以进行数据库全局数据搜索,可以方便查看表或视图的关联表或视图,可以方便查看引用表或视图的视图、函数或存储过程,能以视图、函数、存储过程或历史执行过的SQL为参考为你规划二表或多表间的关联关系,帮你对表间关联关系迅速形成全面而准确的认识,等等,这里就不详细展开了,你可以自己下载下来操作体验一下。

 

最后总结一下,如何实现敏捷高效可持续改进的软件开发过程?最主要是提高软件设计和开发者的素质,精熟面向对象思想方法,能在合适的地方合理应用,这方面能力和水平不是通过几篇博文就能掌握的,你可以选择一些比较经典的书籍用心理解、实践和体会;其次,富有表现力的命名和必要的注释也是相当重要的。数据库通常是软件重要的组成部分,尤其对于信息系统,但数据库对象备注却相当麻烦,这点借助DbRemark能很好的得到解决。

 

以上是我十多年编程中体会较深的一些见解,希望对你有所帮助。

原文转载:http://www.shaoqun.com/a/480932.html

jpgoodbuy:https://www.ikjzd.com/w/1553

haofang:https://www.ikjzd.com/w/1046

盘古集团:https://www.ikjzd.com/w/1448


对于大部分软件编程来说,面向对象都是应该放在首位的编程思想和问题解决方法。你必须先对系统做高度的抽象,做好职责划分,让各层各模块高度解耦,只有这样,才能实现一个富有弹性能轻松自如应对变化和新增需求的复杂系统。经过良好设计的软件几乎每个部分都可以独立改进,无限精细化,也可以被替换,为持续改进打下很好的基础。如果想要系统性深入的学习了解,可以找设计模式、敏捷软件开发和极限编程方面的书籍看看,尤其推荐《
周宁:https://www.ikjzd.com/w/1647
google趋势:https://www.ikjzd.com/w/397
innojoy:https://www.ikjzd.com/w/690
"致各位搞事的卖家",卖家忍无可忍更改主图宣战跟卖!:https://www.ikjzd.com/home/5690
干货!如何判断侵权品和仿品?:https://www.ikjzd.com/home/99453

No comments:

Post a Comment