程序员应该具备的素质汇总(逐步总结)(转)
一、意识篇
1. 团队精神和协作----参加开源软件
2. 文档习惯----从现在做起
3. 标准化的编码习惯,保证代码的可读性-----编码标准
4. 不仅追求实现功能,更要保证效率-----
5. 复用性
代码级和二进制级
一个模块不仅在多个程序中复用,也要在一个程序的多个功能中复用,尽量减少重叠;
6. 尽早测试----Bug发现的越早,解决的代价就越小
7. 再学习
紧跟新技术,提高效率;
尽量学习底层原理,从质上提高,如设计模式、网络协议、架构等等
8. 总结
每次完成一个功能都要总结,找出不足,逐步提高;
9. 要有全局意识、架构意识
知道所设计的模块在整个系统的地位、接口,了解整个系统的架构
二、设计篇
1. 需求分析
2. 设计方法----
3. 流程处理----程序流程、数据流、数据字典
4. 复用设计和模块分解----
一个功能一个模块,尽量避免重复,如微软的打开文件对话框;
5. 整体项目评估能力
资源配置
工程进度安排
整体和各模块工作量
可能的困难
这些能力需要经验的积累;是老者的资本,但一定是会总结的老者,而不是只会重复劳动的老者;
1. 团队精神和协作----参加开源软件
2. 文档习惯----从现在做起
3. 标准化的编码习惯,保证代码的可读性-----编码标准
4. 不仅追求实现功能,更要保证效率-----
5. 复用性
代码级和二进制级
一个模块不仅在多个程序中复用,也要在一个程序的多个功能中复用,尽量减少重叠;
6. 尽早测试----Bug发现的越早,解决的代价就越小
7. 再学习
紧跟新技术,提高效率;
尽量学习底层原理,从质上提高,如设计模式、网络协议、架构等等
8. 总结
每次完成一个功能都要总结,找出不足,逐步提高;
9. 要有全局意识、架构意识
知道所设计的模块在整个系统的地位、接口,了解整个系统的架构
二、设计篇
1. 需求分析
2. 设计方法----
3. 流程处理----程序流程、数据流、数据字典
4. 复用设计和模块分解----
一个功能一个模块,尽量避免重复,如微软的打开文件对话框;
5. 整体项目评估能力
资源配置
工程进度安排
整体和各模块工作量
可能的困难
这些能力需要经验的积累;是老者的资本,但一定是会总结的老者,而不是只会重复劳动的老者;