如何写出优秀的程序 -管理资料

管理资料 时间:2019-01-01 我要投稿
【www.unjs.com - 管理资料】

    上一篇文章得到很多朋友的关注,无论是褒是贬,都由衷地开心,其中有好几位朋友都提到了好的源码难求,其实从我的观点来说,阅读程序并不分好坏,好的源码确实让人易读易懂,甚至心旷神怡,而不好的源码让人百思不得其解,甚至心烦意乱,但作为学习者,应保持冷静的头脑,善于从别人的错误或混乱之中得到乐趣,毕竟能看得出别人的错误也可以证明自已的水平要高,阅读程序与发现错误本身也是一个学习的过程,

如何写出优秀的程序

    程序员是一个需要不断学习不断创新的职业,局外人看出来这是一个苦差事,经常思考,经常OT(加班),有人曾这样描述:如果深更半夜之时发现有人影在街上晃动,那么只有两种可能:要么是风尘女子要么是程序员。呵呵,这个比喻真不知是好是坏是对是错?至少能说明我们是辛苦工作着的。其实我们之所以这些辛苦,一是为了让自已不落伍,技术更新太快,我们稍作停留稍不小心就显得OUT了,二是为了写出更加优秀更有价值的程序,让公司赚更多的MONEY,BOSS开心了,我们也开心。

    那么,如何才能写出优秀的程序呢?

    在温伯格的书里谈到优秀程序的要素,主要包括功能性、时间性、适应性、高效性、经济性等五个方面,对于前面的四点,相信大家都耳熟能详,我们就作一个简单的描述。

    任何一个项目或产品或一段程序,都会有一个比较明确的目标,即满足一定的功能需求,程序员一定要理解透彻,切不可模棱两可,否则辛辛苦苦下来,都等于白干了,即使程序写得再漂亮再高效,但并非客户所需,毫无价值,可以这么说,如果一个程序没有在一定的程度上满足功能需求,那么对其适应性、效率以及开发成本的评估都将毫无意义。

    这里所说的时间性,是指程序的开发是否能按照开发计划所预计的时间内完成?这是我们经常面临的问题,程序的推迟完成所产生的损失是严重的,除了经济上的损失,还容易造成管理上的失控混乱,总之,令人烦恼的事情会接踵而至,或许读到这里,你开始能明白为什么深更半夜街道上晃动的人影有50%的可能是程序员?尽管如此,我们依然很难看到能按时完成的程序,特别是在国内的IT企业里,估计有80%以上的程序(项目或产品)是不能在计划的时间内完成的。因此,能称得上优秀的程序,按时完成是一个重要的决定因素,在程序开发时,程序员的脑海里除了CODE,还要有时间概念。

    一个成熟稳定的程序(项目或产品),大都通过多年的使用与不断地修改完善,修改程序是很正常很经常的事情,修改的难易与多少,也是衡量程序优秀的因素之一。如果一个程序不需要任何修改,就可以在任何平台任环境任何其它软件系统中正常使用,这是很美妙的事情,事实上我们也一直在追求这种RESULT,我们在程序开发时要充分考虑代码适应性的问题,争取让自已编写出来的程序(组件、类、模块等)具有很强的适应能力,以后使用时少修改,容易修改,

管理资料

如何写出优秀的程序》(https://www.unjs.com)。

    过分地强调程序的通用性和易于修改性,往往会造成程序的效率问题,运行起来可能又慢又耗资源,这真是矛盾,用温伯格大师的话来形容就是:“要求程序同时具有高效率和适应性,正如企盼找到一位美丽而谦恭的WIFE”,呵呵,这个DREAM显然是很难实现的,尽管集美貌与谦逊于一身的美人也不是没有,但作为一名普通的程序员,通常我们是需要在二者之间做一取舍的,或者能平衡一下也不错,不是很美但很谦逊的MM也是一个不错的选择啊。

    其实前面四点,不用多说,大家也会经常遇到与思考,最后一点---经济性,是我比较感兴趣而且需要强调的一点。写这文章之前,我刚刚研究完最新发布的《福布斯中国名人榜》,在前100名里大都是演员、歌星、运动员、主持人、导演、模特等大腕们,遗憾的是没发现有IT人士,不知道求伯君伯伯张朝阳叔叔李彦宏哥哥们都干啥去了,看看人家比哥(比尔盖茨)都保持了十二年的世界首富了,我们不得不佩服,也期待有朝一天前100名中有几个搞IT的,让俺们沾沾自喜一下。

    温伯格认为,判断代码质量最重要的新因素是经济。非程序员们大都认为比尔盖茨是世界上最伟大最优秀的程序员,因为他的或他公司的程序赚的MONEY最多,道理是如此地简单易懂,有时甚至让我怀疑自已干这一行的动机到底是为了兴趣还是为了挣钱或者两者都是但谁更得重要一些?在我刚刚开始工作的那几年,我经常冷嘲热讽所在公司的那些软件产品,在我看来简直是一堆垃圾,但竟然能赚大把大把的钞票,真是不可思议!但现实往往如此,MICROSOFT的东东是好的,但也总在不断地打补丁与升级,我们甚至经常性地发现WINDOWS或OFFICE或大或小的BUG,但这不影响MICROSOFT的销售收入,是的,我们无法编写一个完美无缺的程序,只要不影响到重要功能的正常使用,有一些东西我们必须首先舍弃,我们不能因为追求完美而失去市场的先机,程序写得再好,赚不了MONEY又有什么用呢?

    以上主要从大的方面来泛泛而谈,在结束本文之前,让我们从细节之处来总结一下编写出优秀程序需要注意的一些地方:

    (1)养成良好的注释风格:包括文件、函数、重要代码等的注释;

    (2)代码缩进:每一个嵌套的函数块,使用一个TAB缩进(可以设定为3个空格),大括号应放在条件语句的下一行,单独成一行,便于匹对(主要针对C/C++,VC++);

    (3)变量尽量采用匈牙利命名法,同时结合开发工具的原则;一般情况下,变量的取名方式为:< qualifier>

    (4)养成书写程序文档的习惯;

    (5)善于利用组件实现某一特定功能;

    (6)数据层与业务逻辑层相互独立;

    (7)少用全局变量,少用指针;

    (8)避免使用extern,禁止使用goto,Debug增加#ifdef..#endif

    ..............

    来自:http://blog.csdn.net/harrymeng/archive/2006/03/22/631889.aspx

最新文章
推荐文章