程序员的修炼

来源:互联网 发布:apache php 安装 编辑:程序博客网 时间:2024/04/30 13:11

一. 好的编程习惯 


1.写程序前打个草稿可以在心里,最好在纸上:目的要从整体上考虑程序的实现。 
如果公司采用建模的方式,有建模工具(rose ,visio )那是最好不过的了。 
2.注意休息,不要浪费自已的休息时间,用去了自已的时间不但会写出的代码因为注意力不集中而会常常出现代码的质量有问题,逻辑常出错    
3.要善于收集相关的专业开发上的资料,以便以后能更快更好的解决问题目。提倡公司能提供内部知识勾通的工具(如知识论坛,内部即时聊天器);提倡公司内部有技术资料的共享库,提高解决问题的能力. 
4.提高对所写的模块的相关全局把握能力,在写程序中要最好先详细设计后再发布. 

5.要学会与他人沟通如非工程师,学会沟通的不同方式,提高沟通的效率。


二.不同的目标不同的知识重点

 

(一)目标:程序员 


职责:根据详细设计文档,或根据高级程序员的设计进行相关的开发。

1.要学会看相关的需求文档及详细设计文档。 

注意:你必须要通过阅读这些文档把握住其中的重点,关键点,相关易漏点

2.如果公司里会用UML来相互的沟通,这时你必须要深刻理解UML 的相关知识,一定要注意千万不要对UML图一知半解的情况下,就着写代码,那样会错的很惨。 
3.学好对应的计算机语言的基础知识,如:程序的语法,关键点,易错点,对应的出错如何出理,如何才能把对就的程序写的键壮一些
4.如果用到数据库的内容,在学会sql的前提下,尽量学会数据库原理中
的相关sql内容, 当然为了提高查询的能力也可以增加一点 
5.如果用到面向对像的语言那最好学点相关的设计模式,这样的可以增加代码的扩展性,及可维护性等,能够理解详细设计中的模块间的设计原则这个也可以提高对模块的内容编写的正确性. 
6.你一定要学会公司内部的通用的编码规范。 
7.学习如何做单元测试比较好.必须要熟悉相关的单元测试工具. 
8.要不断的对相关知识进行总结,同时也要必须把相关的资料进行整理和学习,在学习过后的资料中你可以在遇到问题时更快的找到问题的答题。
9.在开发你必须记录下大家常出错的地方及大家的解决方法,这个对你以后错误的避免有很大的作用. 

10.在写代码中时必须把上面写过代码记在心里,这样就可以养成习惯,提高代码的速度 

11.对数据库操作时,要尽量共用Connection,并小用以减少Connection的数量 


(二)目标:高级程序员 


职责:对需求文档进行系统相关模块的详细设计,并负责对程序员的支持及指导和相关核心模块的编写 ,所以不但要学会相关程序员要的知识,同时还要学会难度比较大的知识。 

1.程序员的知识,如设计模式你一定要不是简单的看要懂,你还要应用设计模式对相应的模块进行相关的详细设计。
2.要学好相关详细设计的工具做的有的放矢,这样可以更好提高对自已的设计的表达

3.为了提高系统的运行效率会运用到 


a. 数据库的表结构如何建才能使应用的要查询sql  更快。这时可要认真认真的学习一样数据库原理,千万不要以为采用数据库的范式越高系统的运行效率会越好,有时候适当的表冗余可以大幅度的提高系统的查询效率.   同时适当的建索引,视图,存储过程也是提高系统对数据库的查询的效率之一。  
b.   学习多线程的编程,不过千万不要以为线程数越多运行的速度会越快,一般线程的数量超过一定的数量后,系统的运行速度反而会变慢。为了应用好多线程,操作系统这本书也要关于同步及相关进程和线程的知识必不可少。 

c.   设计好的一程序的好的算法,可要比起解一道同一复杂的数学题,要难的多,所以要在学好的相关数学的知识上(如线性代数,离散数学,概率论,数理统计)。更要深入计算方法,及数据结构,让数学问题用计算机来解决。 

4.为了让系统设计的更加的可扩展性,稳定性,设计模式和软件工程可是不能少的东西。所以必须把设计模式用于模式级的设计.  


5. 如果公司采用的是Rose (UML)进行设计的话,你对于UML  的理解一定要非常的准确,同时你要跟小组中的程序之间进行充分的UML概念上及对应用例图,类型图,对象图,协作图的意思多写一些注释加深大家对你的设计上的理解。 


(三)目标:系统分析员 


职责:做好与客户之间的关系,同时对客户的需求要正确的理解,要选择合适的开发技术,同时做好与客户间沟通交流,学会说服对方。 
1.学会对客户的沟通:要正确理解客户的需求同时要保证相互之间的沟通顺畅。 
2.对了解来的需求要能用笔正确的描述下来,并能很好的传叙给其他人。这时要学会用如ROSE 等的软件建模的工具。和powerdesign等的数据库建模工具。和相关的UML,数据流程图及相关的内容的知识。
3.不但要全面的了解客户的需求而且还要对需求进行未来的可能的改变要有相当多的了解。 
4.全面的了解客户的需求后,要选择合适的相关技术用于开发,: 这时要学习各种知识 
a. 选择数据库:db2,infomix ,oracle ,sql server,mysql 的优缺点,可以从中选择最适合的数据库及理由。 
b. 设计数据库:要扎实在数据库的理论(数据库原理,数据库系统设计)及相关数据库设计经验,要尽量多的分析过去数据库设计,分析这么设计数据库的好处。这时可能要用到  powerdesign等工具。  
c. 写需求说明文档和概要设计文档,同时要学会要分析相关需求说明文档的需要的内容的相关知识,如人员工时的计算方法, 一般会用 project  来分析相关的项目的内容。 
d. 选择合适的程序语言及相关的架构,一般主流的架构是 J2EE和.net的相应的优点及它们之间的结合,如采用soap  ,xml进行相关的结合,或用java-com 桥 进行相关的功能的调用。和它们之间的相关语言优缺点

e. 还要根据b/s,c/s 结构对开发的网络影响的相关内容采取选择。 


5. 学会说服对方,毕竟客户都不是个个是软件专家,他们的选择有时未必是正确的所以学会说服对方,是系统分析员必备的能力条件.



0 0
原创粉丝点击