关于程序员和软件开发的一点积累.

类别:软件工程 点击:0 评论:0 推荐:
 1、代码重用,代码是把有共性的部分,整理出来,组成一个或者几个方法(或者类),并不是指代码的复制粘贴;重用也未必就指一段代码,也可以是一个窗体,一个类; 
2、可以通过传递参数的方式来确定一个方法或者类的多种实现形式,参数未必是一个或者几个数值,也可以是类的实例; 
3、对数据集中处理,业务是多样的,分散的,但是数据是集中的; 
4、编写程序的时候不要想出了问题再解决,而是要想如何不会出现问题,要根据经验来预测可能出现的问题,然后避免出现; 
5、编写程序是一门艺术,程序员都是艺术家;就像画家在画画,抽象画很少有人能看懂,我们不应该做"抽象程序员"编出的程序谁都看不懂; 
6、编程确实是一门艺术,不是简单的写代码;既然是艺术,艺术源于什么?艺术源于灵感,灵感是什么?不是天上掉下一个馅饼,"啪"砸在头上,啊,我的灵感来了,这样估计不大可能。灵感需要思考做根基,有思考之后量变到质变才能有灵感!所以编程这门艺术要思考! 
7、我在工作中,思考的时间是写代码时间的2-4倍,思考固然重要,一个程序的发布还有一个重要的环节,哪就是测试,我认为一个人的代码测试至少要经过三个步骤;a、开发者自己测;b、交叉测试:交给A测,A把自己测完的交给B测;B把自己测完的交给A或者C; c、公司内部认可:公司的技术负责人以及各个项目负责人,一起看一下马上要发布的程序,然后讨论这样的程序能否给用户实施; 
8、做人在于脚踏实地,软件开发在于日积月累和不断的思考; 
9、代码的简洁来自于逻辑的清晰,而并非代码量少就是简洁; 
10、何谓类?有人认为(即使是现在仍然有人这样认为)它就是方法的集合,我觉得不是,类应该是一些具有共同属性,方法,事件的对象的集合的抽象;另外、这些属性和方法必须都是自己的抽象所拥有的,别的是不可以的,举个简单的例子,比如:人是一个类,而轮子是汽车的属性,启动也是汽车的方法,如果把轮子的属性或者启动的方法,放到人这个类中,显然,就不伦不类了; 
11、学习一个新技术,首先了解他能够做什么,学习一门语言,首先了解它的最基本的语法; 
12、在一项工作即将开始的时候,一定要估算完成这项工作所需要的时间,也一定要让用户知道这个时间。不能因为用户的急噪左右了你的估算。如果用户的时间很急,那么就尽量减少要完成的功能,来祢补时间的不足,如果你在没有考虑充分的情况下做出不合理的设计,写出不合理的代码,做不充分的测试,后果将是无穷无尽的维护工作。 
13、衡量一个软件的好坏的众多标准中的一个就是:看她给你的感觉是在清泉中嬉戏?还是在厕所中便秘? 
14、遇到疑难问题的时候,我通常如下处理:列出解决这个问题我所能想到的所有方法,从后台数据库设计到给用户的前台表现,然后分析;分析的内容包括:用户是否适用、用户能否接受、工作量、复杂度,以及对其他功能模块的影响度;最后找到最合理的一个解决方案;但这些工作的前提是你要知道用户需要的是什么东西。 
15、软件开发最重要的不是系统分析,不是编码,也不是实施;而是用户的需求;这就需要我们的调研工作,一定要细致入微,往往我们开发完的东西,拿到用户这边,但用户并不满意;这样,我们的工作是徒劳的;用户描述的是一个桌子,调研人员理解的是一个凳子,分析人员分析出来的是一个椅子,编码人员做出来的是一个木板,商务人员给用户描述了一个沙发,而用户实际需要的是一个轮胎,看过这个笑话吗?软件开发就像探测火星,每个部件都要协作进行才能正确运转下去,要想使整个软件开发过程进展顺利,唯一的办法就是“交流”; 
16、用户往往不知道自己真正需要的是一个什么东西,而我们往往不能达到用户的真正需求,在我们不能达到用户的需求的情况下,为了让用户满意,我们一定要让用户看到他最想看到的东西; 
17、不要为了实现自己想实现的功能去编写程序,作为程序员在编写程序的时候要考虑很多事情,例如:1、功能上用户的需求;2、后续者的维护;3、程序的扩展性;4、性能上用户的需求;5、是否有必要为了功能而牺牲性能或者为了性能而牺牲功能;等等。 
18、接口是一种封装,同时也是一种规范,既然是规范,就有可能对开发起到束缚作用,封装的越好,往往扩展性越差; 
19、用户所需要的,我们未必能够达到,但是我们轻易不要告诉客户我们不能达到他们的某些要求,"尽量不要和用户说:这个。。。我们做不了",要努力的告诉用户,他的这种要求是不合理的,说服他换个方式(当然这个方式是我们能实现的方式)实现。 
20、工作要接受一定的压力,我觉得没有压力就没有工作效率,没有压力就没有进步,但是压力过大会使人发疯的。每个人的承受能力不同,为了使自己进步,给自己点压力吧。 
21、软件开发的过程同时是一个缓和矛盾的过程,在软件开发过程中要缓和各种矛盾,在这些矛盾中获取平衡:客户和软件开发商的矛盾、开发商之间的矛盾、功能与性能的矛盾、老板和员工之间的矛盾、产品的定型与扩展的矛盾等等; 
22、做为程序员,要具有对软件开发,程序设计的悟性,因为很多东西是意会而不可言传的,理解了未必说的出来。也未必写的出来。所以说不是什么样的人都适合做程序员。 

本文地址:http://com.8s8s.com/it/it35784.htm