2022年程序员的境界 .pdf
《2022年程序员的境界 .pdf》由会员分享,可在线阅读,更多相关《2022年程序员的境界 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序员的四境界、七宗罪 与七武器我的意思是编程注重的是想法而不是语言,这就是计算机专业要开设“算法分析”和“数据结构”的原因,而真正的计算机人才应该是一个设计师、工程师。程序员的四个境界国学大师王国维先生认为古今成大事业、大学问者, 必经过三种境界,第一种境界:“昨夜西风凋碧树。 独上高楼, 望尽天涯路” ;第二种境界:“衣带渐宽终不悔,为伊消得人憔悴” ,第三种境界:“众里寻他千百度,蓦然回首, 那人却在灯火阑珊处” 。一代宗师真是体察入微,寥寥数语,道尽了求道者的心路历程,将一个人由浅尝、迷茫到彻悟的过程尽数概括,可谓入木三分。IT 行业可谓现在的热门行业,程序员也是很多人羡慕的工作。薪水
2、高,不用东跑西颠,敲敲键盘,看看屏幕,一切工作全都搞定,轻松而方便。果真如此吗?不尽然,实际上,程序员的职业生涯也是一个求道的过程,需要不断的提高和学习,IT 行业知识更新之快,常让程序员们有随时掉队的危险,无一日不战战兢兢,不敢稍有懈怠。程序员的职业生涯也可分为四个阶段,初级程序员( 菜鸟 ) 、高级程序员( 熟练工 ) 、系统程序员 (高手 ) 、软件大师 ( 大师 ) ,其作品也经历四种境界: 可以运行的程序 健壮、高效的程序 结构优美的程序 思想深邃的程序程序员的必经第一个阶段都是编写可以运行的程序。很多人的编程生涯是从“Hello World ”开始,当第一次按照教科书上的步骤,将源
3、文件编辑完后,编译、连接、运行,在屏幕上显示出“ Hello World”时,心中的激动一点也不亚于阿里巴巴打开了宝库的大门。初级程序员的目标一般是让程序能运行起来,他们迷惑于库函数的众多,不知道该用那一个,他们还要学习基本的语法,以使程序编译通过。初级程序员一般不会考虑设计模式、软件结构等问题。记得本人编写的第一个较大的程序是本人的本科毕业论文题目一个计算机辅助实验系统,开发工具为Turbo C,在 DOS下开发 ( 那个时候Windows还不太流行,怎么样,年代够久远吧 ) ,整个软件大约7000 行代码,在当时已经能干不少事,在DOS 下也能显示不少花里胡哨的图形界面,支持中文,支持鼠标
4、操作( 那时候在DOS下需要自己处理鼠标事件中断) ,当时还颇受好评。可是今天再重新温习过去的作品,真有点掺不忍睹,整个软件毫无结构可言,一共分成两个源文件还是由于编译器不支持一个太大的源文件而被迫分开,整个系统就是源代码的简单堆砌。相信每个程序员都需要经历这个阶段,它是程序员职业生涯的开始,没有捷径可以跨越,只有不断的实践、学习和总结。第二阶段的程序员已积累了不少的编程经验,语法和库函数不再是障碍,他们已不再满名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 -
5、- - - - - - - - 足于程序正确运行、功能实现无误。他们需要了解程序背后发生的事情,需要了解操作系统的原理和调度机制,内存管理,文件系统组织等;了解开发工具的细节,如C 的函数调用机制,参数的传送机制、堆栈的建立过程等;了解C+ 的封装、继承和多态性背后的机制,虚函数实现机理等。他们不仅知道程序应该如何运行,还知道它为什么这样运行,能编写高效、鲁棒的程序。第三阶段的程序员能构建结构优美的软件系统,软件系统结构的合理性、可扩展性、可维护性、 可测试性是系统程序员考虑的重点,结构优美的软件系统同一栋完美的建筑群一样,每个部分各司其职,搭配合理。本人一直认为,一个好的软件系统应当具有美学
6、特征,如简洁、和谐、层次感等,一个好的软件系统应当是简洁的,易于理解的;应当是和谐的,每个部分高内聚、低耦合,既分工又合作;应当是层次分明,易于维护和移植。所以,本人建议那些进行软件系统设计的程序员,当你设计完一个系统后,需要问问自己: 它美吗? ,如果答案是否定的,那么我建议你需要重新考虑系统的设计,如果答案是肯定的,那么,恭喜你,你已经达到一个相当高的水平。最后一级也许是每个程序员梦想达到的顶峰,程序设计不再是简单的工具,而是大师们改变世界的魔杖,从C到 C+,再到 COM 和 COBRA ,再到 XML和 WEB SERVICES,每次改变,不是软件语法和开发工具的升级,而是用软件构建现
7、实世界模型的改变,是一种软件思想的革命,软件具有了灵魂和智能。如果没有理解这一点,认为C+只是更好的C,COM 只是更好的 C+ 话,你就没有了解它们的精髓和思想性。程序员的七宗 罪 虽然软件工程的思想已被绝大部分程序员所接受,但要将这种思想转化为软件开发过程中的种种自觉行为却不是一件很容易的事。究其原因,有很多因素,如很多程序员缺乏专业化的训练,重技巧,轻规范,包括一些计算机专业科班出身的程序员也存在这种问题;再如很多公司只注重软件产品的开发结果,不注重开发过程, 客观上也影响了程序员的目标取向。如此种种,使很多中国的软件公司难以迈上一个新的台阶,发展壮大也就无从谈起。程序员们作为软件产品的
8、创造者,当然也难辞其咎。下面所列不过是产品开发过程中诸多问题中的其中几个,也许你不会犯这样的错,我还是引用一句老话: “有则改之,无则加勉”。一宗罪:以偏概全大家都知道,在对一种产品决定立项开发前,都需要进行产品开发的可行性进行分析,而其中的市场分析至关重要,其实市场分析无外乎三点,一是要开发的产品是有市场需求的,二是公司有能力获取这份市场,三是公司能从产品中获益( 不一定是指赚钱, 如公司战略利益等) 。 看似简单的几点, 想要完全弄清楚决非易事,所以很多产品的市场分析容易“以偏概全” ,如通过个别用户的特定要求或报刊杂志的片面报道将产品市场无限扩大( 分析人员自己想象的) , 技术驱动而忽
9、略用户需求和成本( 如铱星计划 ) 等,至使产品开发完后没有预期的市场效果。想要全面而准确地的进行产品的市场分析确实是很不容易,需要平时的积累和理性的分析思考,不能靠撞大运。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 二宗罪:画猫成虎大家也许有这样的经历,产品开发完毕交付用户使用后,用户总是不满意,如不符合他们的使用习惯,功能设置不合理等。所以产品的需求分析是如此重要,没有正确的需求,软件开发得再好,技术再先进,也不过是当摆
10、设的花瓶。程序员们,尤其是系统分析员容易犯的第二宗罪就是 “画猫成虎” ,曲解了用户的要求。一份好的需求分析不是简单地将用户的每个具体的需求点记录下来,而是要洞察用户每个具体要求背后的动机,将分散的需求点串成一个有机的整体,基于需求并 “超越需求” 。一个好的系统分析员不仅是一位软件专家,还要是一个出色的领域知识专家和沟通者。三宗罪:好大喜功项目延期好象是软件开发一个必经的步骤。项目经理在制定开发计划时,往往过于乐观,每个开发阶段都按最乐观的估计来计算开发时间,而没有充分考虑到软件开发的特殊性和不可预见性,程序员可能都有这样的经历,一个非常小的BUG可能要耽误很长的时间,使开发进行不下去。 所
11、以项目经理切忌“好大喜功”,因为项目的不断延期会打击项目成员的信心和士气,久而久之,会使大家产生一种惯性:项目延期是正常的。当然,这也不能完全怪罪项目经理们, 因为在国内, 很多项目计划都是采用倒排序的方法,即先确定产品交付的时间表,再依次倒推测试、实现、设计和分析所需的时间,而整个开发的时间往往是那些从没实际开发过产品的领导来拍脑袋决定的。四宗罪:只顾眼前即便是最优秀的系统分析员也不能保证所提供的软件系统需求不会变化,所以软件设计人员要充分考虑这一点,不能仅仅 只顾眼前 的需求,还要有一定的前瞻性,满足可预见的未来需求,软件系统的可扩展性和可维护性对于一个大型、复杂、长生命周期的软件系统来说
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年程序员的境界 2022 程序员 境界
限制150内