微红科技告诉你——软件开发必知的七大原则

发布时间:2018-11-07

原则就是人们行为的基础性准则,是具有一定持续性的规则

软件开发也具有属于自己的原则,为了提高软件开发的质量

微红科技的程序员在开发时,始终遵守着软件这些界内原则

 

第一原则:存在的理由

一个软件系统存在的理由就是:为它的用户提供价值。你所有的决定都取决于这一点。在指定一个系统需求,在写下一段系统功能,在决定硬件平台和开发过程之前,问你自己一个问题,“这样做会为系统增加价值吗?“,如果答案是”yes”,做。如果是”No”,不做。这个原则是其他原则的原则。

 

64241541389689.png

 

第二原则(能简单就简单,愚蠢!)KISS
软件设计不是一个轻描淡写的过程。在做任何一个设计时,你必须考虑很多因素。所有设计应当尽可能简单,但是不要再比这简单了。这样产生的系统才是可以理解和容易维护的。这并不是说很多有意义的特性,因为这种简单性也要被抛弃。确实很多更优雅的设计往往更简单,但简单并不意味着“quick and dirty.”。事实上,简单是通过许多思考和一次一次的反复修改才达到的。这些努力的汇报就是更容易维护,代码错误更少。(看看是否违反)

66271541389689.png

第三原则:保持远见

清晰的远见是一个软件项目成功的基础。没有这样的远见,项目开发最后就变成天天为一个不好的设计做补丁。Brooks说过:概念的完整性是系统设计中最重要的问题。Stroustrup也说:有一个干净的内部结构是构建一个可理解、可辨识、可维护、可测试系统的基础。Booch则总结道:只有当你对系统的体系有一个清晰的感觉,才可能去发现通用的抽象和机制。开发这种通用性最终导致系统更简单,因此更小、更可靠。如果你不断地复制、粘贴、修改代码,最终你将陷入一个大泥潭(the Big Mud),你永远不可能对系统有一个清晰的认识。

 

第四原则:你制造的,别人会消费
软件系统不是在真空中使用的。其他人会使用、维护、文档化你的系统。这依赖于对你系统的理解。所以,你设计、实现的东西应当能够让别人理解。要记住,你写的代码并非只给计算机看,你要时时记住,代码还要给人看(Kent Beck)。如果到处泛滥似是而非的代码,别人如何能够辨别这些代码的相似和不同,如何去理解这些代码之间具有何种关系。

 

154138969781.png

 

第五原则:对将来开放
一个成功的软件有很长的生命期。你必须能够使得软件能够适应这样和那样的变化。所以,一开始就不要将软件设计到死角上去。请总是问一下自己“如果这样,那么。。?“这个问题,你要考虑到各种各样的可能性,而不光光是图省事。复制,粘贴一下即可。

 

第六原则:为重用做好计划
重用可节省时间和精力。实现高水平的重用可以说是开发软件系统最难的目标。代码和设计的重用已被宣称为使用面向对象技术的主要优势。但是,这项投资的回报并不是自动的。为了利用面向对象编程提供的重用可能性,我们需要预先考虑和规划。在系统开发过程的每个级别都有很多技术可以用来实现重用。详细设计和代码级别的重用技术不但众所周知而且是有文档的。


新的文献正在以软件模式的形式寻觅设计的重用。然而,这只是战斗的一部分。与组织中的其他人交流重用的机会至关重要。如何重用你不知道的东西?提前规划重用可降低成本并提高可重用组件及其所在系统的价值。

 

15413897079390.png

 

第七原则:思考!
在采取任何动作之前首先做一个清晰、完整的考虑,这样才能产生更好的结果。如果你考虑了,但还是产生错误的结果,那么这种努力也是值得的。在你学习或研究类似的问题时,将更容易理解和掌握。

24761541389689.png

 

这些原则告诉我们轻松地复制、粘贴和修改代码不可能产生好的,也就是容易理解、维护、重用的代码。但请不要走极端。我一直认为,一个好的软件系统是各种因素权衡的结果,也就是你如何把握一个度的问题,明确的思想进入到系统,就会产出价值。应用前六个原则需要深入的思考,当然潜在的回报也是不可估量。

 


上一篇: 谈SEO优化理念之主题模型!

下一篇: 微红科技告诉你玩转微商的三大思想

返回列表

Copyright © 微红科技2016-2018 All Rights Reserved 

ICP备案 黔公网安备   黔ICP备17001430号-1   【微红科技官方微博】 版权所有:微红科技    百度统计