Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7204090
  • 博文数量: 510
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6836
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(510)

文章存档

2022年(2)

2021年(6)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: IT业界

2013-01-17 17:53:07

以下描述中的概念:代码 和 软件 概念经常出现,表述上没做认真区分.读者可认为“软件就是一堆代码”,即可。


新的一年来临,想聊聊技术上的一些看法,望和同行多多交流。

很久没写成篇的文章,思绪上也比较凌乱。在此以关键词的形式,来谈谈软件开发中的一些方法和原则。

实践   、简单、 唯一、 高内聚 低耦合、测试驱动、迭代



1、实践

    首先是实践,这个最重要。无论你是学习技术还是应用开发都是如此(在工作中,经常是边学习,边应用开发)。学习上,看书学理论是重要,但是一定要实践,

具体的就是敲写代码,去测试验证知识点和你的想法,在开始学习新知识时候,去找示例是个好方法。

    应用开发中,这主要是在工作中。首先不要过度设计,不要画太多的图。基本的思路确定后,在辅助一些基本图,比如类图,核心流程图(交互图)后,就要动手写代码。然后去测试、去迭代。


2、简单

    能解决问题的方案是好的。你的目的是解决问题,不是为了展示你的个人魅力(哎,程序员们好似99.999%都是喜欢在代码炫耀,理解万岁啊)。但是一定要记住

解决问题是根本目标,不要过于追求高难度、新奇、很牛等。能用简单方法解决问题, 除了过几天你能记住自己写的代码外,在项目后期 好处也是多多啊,很容易就能学会,节省时间,提高效率。而且迭代,变更修改都会变得简单。


3、唯一

    唯一,在此是指 函数、接口、类、模块等概念。在代码中,相同功能,一定要用唯一相同的概念表示(实现和使用)。比如一个功能不要搞成几个函数,要用同一个函数。实际编码中,完全相同的确不多,但是相似的甚多。而这就需要我们来抽象了,把共性抽象出来,用唯一来表示。比如对几个相似的共能,没经验的程序员一般遇见一个实现一个;而有经验但是很懒的程序员,有时有忽略或蔑视了这个抽象过程。这两种都不是好现象,随着代码的庞大,你的维护将是恐怖的,而且很容易顾此失彼,造成bug。开始养成个好习惯,好处大大。


4、高内聚 低耦合

   学过设计模式的,这个没有不知道的。这也是简单思想体现。分割复杂;划分边界;降低类、模块等关系复杂度。

 一句话,必须坚守的原则!


5、测试驱动

   这也是重要的不能再重要的原则了。写完代码,不是仅仅给别人看的;更重要的是要编译器来分析产生机器码,让机器来运行。首先要能通得过,对于服务器,还要要求性能必须高、而且要稳定。测试是检验代码的功能、性能、稳定唯一途径。是天才,也不能让自己的脑袋来运行代码,还要靠机器。

需要强调的是,测试要结合实践。这不仅仅是工作中开发的重要,必需的方法,也是你学习新知识,提高认识的重要途径。

另外,对于服务器开发、一定要有压力测试来测试效能。特别是框架和核心模块代码(大部分调用最多的代码)。服务器开发中,这个往往被忽视,以为功能ok了就好,呵呵,实际差的远呢。


6、迭代

  你认为写一次代码,就万事大吉。在软件开发中 这是行不通的。首先需求是变化的,所以代码必然有被变化的可能,另外即使固定需求,开始也存在分析设计上的不完善等因素。所以代码必须面对变化这个天然的事实。如何进行呢?不断迭代。这个过程中,主要是修改、重构的过程。但是注意不是为了重构而重构,重构必须事出有因。 大致上看,重构的起因有:客户具体需求变化;代码效能低下;不满足设计和软件原则(比如以上简单,唯一,高内聚,低耦合)。 这些都是原因,我们必须通过重构来迭代。记住软件产品是不断演化的。


我们不但要代码满足客户端需求;还要代码是高效能的;还要她是一个优雅的艺术品,而不是一个复杂的、枯燥的东西。


阅读(4581) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~