以下文章都是经典,看不看随你的便,我只希望知识掌握在更多中国人的手里!
作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质. 【程序编程相关:.Net中删除数据前进行外键冲突检测】
中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识与观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际上只是一些coding fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的cto就是这样的coding fans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人. 程序员基本素质: 【推荐阅读:Java学习之ArrayList】
2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员与系统分析员,这个比例还要高很多.缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦. 【扩展信息:WEB打印的相关技术分析】
1:团队精神与协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本.把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的.独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化与产品化的开发任务,缺乏这种素质的人就完全不合格了.
3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度与函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植与纠错,也有助于不同技术人员之间的协作. 有些coding fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员.代码具有良好的可读性,是程序员基本的素质需求. 再看看整个linux的搭建,没有规范化与标准化的代码习惯,全球的研发协作是绝对不可想象的. 4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统与开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力.性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险与恶意攻击的可能性.就这一点,一个成熟的程序员至少需要2到3年的项目研发与跟踪经验才有可能有心得.
5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的.... 下一页