以下文字是成都景尚科技的一位的软件开发从业人员写的软件开发感想、心得。对于刚入行的软件开发菜鸟来说,这篇文章能让你有种醍醐灌顶的感觉。这篇文章讲了软件开发的基础核心。
1. 面向对邯郸软件开发过程
普通的软件开发过程和面向对象开发过程有着很大的不同。回想我们在非面向对象中开发过程中,经常采用的任务分配方法就是以软件模块为单位,这样的好处是分配简单,不同任务之间耦合程度低,容易操作。坏处是几乎无法做到重用,也缺乏整体性的设计。而面向对象软件开发则不同,它是以类、类集合作为基本单位的。类之间关系错综复杂(我们提倡低耦合的设计,但类之间的关系仍然是相对复杂的)。这种情况下程序员之间相互协作的要求就非常之高,这种关系如果处理恰当,则能够完全体现出面向对象的威力,否则,那将会是一场大灾难,在这个过程中,景尚的开发人员都有养成这些好的习惯:尽量简化和稳定客户端;准备一份简洁的文档,并保持更新;尽可能多的考虑异常和错误的情况。
2. 面向对象的代码
面向对象的代码已经在现在的软件开发中占据了主流的位置,面向对象的思路也有其优势所在,就像后文所讨论的,面向对象代码有着非面向对象代码的很多优势,而软件业中很多新的思潮的产生,也都是基于面向对象语言的,我们关注的代码将是面向对象代码。 面向对象的思想来自于抽象数据类型。对于面向对象来说,它重要的改进就是把世间万物都描述为对象,而类则描述了同一种对象的特征,而不是像传统的开发方法那样,按照机器指令的执行顺序来进行设计。当然,面向对象代码终仍然是要按照时序来执行的,从程序员的角度看来,面向对象代码更侧重于对象之间的交互,多个对象各司其职,相互协作以完成目标。而面向对象技术的发展,也是朝着更加贴近我们世界观的方向发展。从这点来看,有人说完全没有程序设计经验的人学习面向对象可能会更加的容易,因为他不需要从原先的时序程序的桎梏中摆脱出来,但这未必是事实。面向对象决不是一种简单的程序设计思路。这是景尚科技的观点,也会在下文中反复的论证。
和所有的职业一样,程序员,或者是面向对象程序员,始终坚持的一点就是严谨。你会看到各种各样的代码,但那决不是一次能够写成的,要不断的尝试,不断的改进。为什么重构和测试优先是敏捷方法中很重要的一项实践?因为程序员不是神,他们需要慢慢改进他们的代码。罗马不是能够建成的,在编写面向对象代码的过程中,有一些实践是需要坚持的,它体现了我们所说的严谨。
3. 代码是软件开发的基础
编码是软件开发过程中基本、底层的技艺,也是重要的技艺。任何一个领域的专家都需要花费大量的时间来进行基本技艺的锻炼,对景尚科技的开发人员来说,语言的各种特性必须要了然于胸。而对软件的管理也需要从代码做起。
软件的开发过程就象是一部精密的机器,任何一个环节的变化,都会对其它的环节产生影响。把软件过程按照瀑布的形式进行划分是一种分解的处理思路,但我们还应该看到不同活动之间的相互影响。软件开发中的生命周期模型也是一个层次模型,从业务建模一直到软件实现,需要跨越数个层次,同样会出现执行不力的情况,例如,代码设计偏离需求、偏离设计的情况比比皆是。