`
izuoyan
  • 浏览: 9219262 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

程序员的素质之编程修养

阅读更多

什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?

  我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。

  我认为好的程序员应该有以下几方面的素质:

  1、有专研精神,勤学善问、举一反三。

  2、积极向上的态度,有创造性思维。

  3、与人积极交流沟通的能力,有团队精神。

  4、谦虚谨慎,戒骄戒燥。

  5、写出的代码质量高。包括:代码的稳定、易读、规范、易维护、专业。

  这些都是程序员的修养,这里我想谈谈“编程修养”,也就是上述中的第5点。我觉得,如果我要了解一个作者,我会看他所写的小说,如果我要了解一个画家,我会看他所画的图画,如果我要了解一个工人,我会看他所做出来的产品,同样,如果我要了解一个程序员,我想首先我最想看的就是他的程序代码,程序代码可以看出一个程序员的素质和修养,程序就像一个作品,有素质有修养的程序员的作品必然是一图精美的图画,一首美妙的歌曲,一本赏心悦目的小说。

  我看过许多程序,没有注释,没有缩进,胡乱命名的变量名,等等,等等,我把这种人统称为没有修养的程序,这种程序员,是在做创造性的工作吗?不,完全就是在搞破坏,他们与其说是在编程,还不如说是在对源程序进行“加密”,这种程序员,见一个就应该开除一个,因为他编的程序所创造的价值,远远小于需要在上面进行维护的价值。

  程序员应该有程序员的修养,那怕再累,再没时间,也要对自己的程序负责。我宁可要那种动作慢,技术一般,但有良好的写程序风格的程序员,也不要那种技术强、动作快的“搞破坏”的程序员。有句话叫“字如其人”,我想从程序上也能看出一个程序员的优劣。

  因为,程序是程序员的作品,作品的好坏直截关系到程序员的声誉和素质。而“修养”好的程序员一定能做出好的程序和软件。

  有个成语叫“独具匠心”,意思是做什么都要做得很专业,很用心,如果你要做一个“匠”,也就是造诣高深的人,那么,从一件很简单的作品上就能看出你有没有“匠”的特性,我觉得做一个程序员不难,但要做一个“程序匠”就不简单了。编程序很简单,但编出有质量的程序就难了。

  我在这里不讨论过深的技术,我只想在一些容易让人忽略的东西上说一说,虽然这些东西可能很细微,但如果你不注意这些细微之处的话,那么他将会极大的影响你的整个软件质量,以及整个软件程的实施,所谓“千里之堤,毁于蚁穴”。

  “细微之处见真功”,真正能体现一个程序的功底恰恰在这些细微之处。

  这就是程序员的——编程修养。我总结了在用C/C++语言(主要是C语言)进行程序写作上的三十二个“修养”,通过这些,你可以写出质量高的程序,同时也会让看你程序的人渍渍称道,那些看过你程序的人一定会说:“这个人的编程修养不错”。

  ————————————————————————

  01、版权和版本

  02、缩进、空格、换行、空行、对齐

  03、程序注释

  04、函数的[in][out]参数

  05、对系统调用的返回进行判断

  06、if 语句对出错的处理

  07、头文件中的#ifndef

  08、在堆上分配内存

  09、变量的初始化

  10、h和c文件的使用

  11、出错信息的处理

  12、常用函数和循环语句中的被计算量

  13、函数名和变量名的命名

  14、函数的传值和传指针

  15、修改别人程序的修养

  16、把相同或近乎相同的代码形成函数和宏

  17、表达式中的括号

  18、函数参数中的const

  19、函数的参数个数

  20、函数的返回类型,不要省略

  21、goto语句的使用

  22、宏的使用

  23、static的使用

  24、函数中的代码尺寸

  25、typedef的使用

  26、为常量声明宏

  27、不要为宏定义加分号

  28、||和&&的语句执行顺序

  29、尽量用for而不是while做循环

  30、请sizeof类型而不是变量

  31、不要忽略Warning

  32、书写Debug版和Release版的程序

<!--Here is the bottom-->
分享到:
评论

相关推荐

    一个程序员的自我修养(编程修养)

    ### 一个程序员的自我修养(编程修养) #### 1. 代码规范的重要性 - **背景**:在软件开发过程中,编写高质量、易于维护的代码至关重要。这不仅能够提高工作效率,还能减少错误的发生。 - **意义**:良好的编码...

    编程修养 -- 陈皓

    首先,书中提到的编程修养之一是理解并遵循编程规范。编程规范不仅能让代码看起来整洁有序,还能提高团队协作的效率,因为大家都能快速理解和修改彼此的代码。例如,命名规则、注释规范、代码结构等都是规范的重要...

    一个程序员应该有的编程修养.pdf

    编程修养是指程序员在编程实践过程中应当遵循的一系列规范、标准和习惯,它是衡量程序员技术水平和个人素质的重要标准。一个有修养的程序员不仅仅是掌握技术的细节和编程速度快,更应该具备深入研究的精神、积极向上...

    编程修养 编程修养 编程修养

    陈皓在其专栏文章《空谷幽兰,心如皓月》中提到的“编程修养”,主要围绕着如何成为一个优秀的程序员展开讨论,并提出了五项基本素质:专研精神、积极态度、沟通能力、谦虚谨慎的态度以及高质量的编码能力。...

    编程修养_什么是好的程序员.pdf

    所谓“编程修养”,是指程序员在编写代码时表现出的专业素质和职业操守。这不仅体现在技术层面上,还涉及个人品质和团队合作等方面。一位拥有良好编程修养的程序员,能够编写出高质量、可维护性强的代码,同时也能够...

    编程修养.PDF

    ### 编程修养:从《编程修养.PDF》探索优秀程序员的品质 #### 一、引言 在《编程修养.PDF》这份资料中,作者深入探讨了一个好程序员应有的特质,超越了单纯的技术掌握和编码速度,而是聚焦于更深层次的个人品质与...

    程序员编程修养

    程序员编程修养指的是程序员在编程工作中所展现出的专业素质和行为准则,它不仅仅包括对技术的掌握程度,还涵盖了对编程艺术和软件质量的追求。编程修养是程序员个人能力的体现,对于程序员的成长和技术提升具有决定...

    编程修养程序员必备的30条素质

    ### 编程修养:程序员必备的30条素质 #### 1. 版权和版本 在每一项工作中,尊重知识产权是非常重要的。对于程序员而言,在编写代码时为自己的工作添加版权和版本信息是一种基本的职业素养。这不仅有助于保护自己的...

    什么是好的程序员 编程修养 word

    【什么是好的程序员】 在IT行业中,成为一个优秀的程序员并不仅仅意味着掌握...编程修养不仅体现在技术层面,更关乎程序员的职业道德和责任感。只有在这些方面下功夫,才能编写出高质量的代码,成为真正的“程序匠”。

    &lt;&lt;编程修养&gt;&gt;

    ### 编程修养的核心要素 #### 一、何为优秀的程序员? 在《编程修养》一文中,作者提出了关于...正如文章最后所言,真正的编程修养体现在代码的每一个细节之中,而这些细节正是决定一个程序员是否优秀的关键所在。

    0编程修养(必看)PDF

    良好的编程修养不仅能够提升代码质量,还能够体现程序员的专业素质。在当今的软件开发行业中,编程修养被视为程序员的基本职业素养。 首先,编程修养要求程序员有专研精神,勤学善问,能够举一反三,不仅局限于现有...

    一个创业公司程序员的自我修养-范凯.pdf

    - **种子轮**:创始人亲自参与编程,此时的程序员通常需要具备较强的技术实力和个人贡献能力。 - **A轮**:随着公司的发展,除了个人贡献外,还需要有一定的团队领导能力。 - **B轮**:在这个阶段,程序员的角色变得...

    编程修养高清pdf

    《编程修养》是一本深入探讨编程艺术与程序员素质提升的书籍。它强调的不仅仅是技术的掌握,更是对编程思维、代码质量以及软件工程实践的关注。这本书的高清PDF版本提供了清晰的阅读体验,使得读者能够更好地理解和...

    编程修养(程序员需要注意的关于编程的注意事项)

    编程修养并不仅仅是掌握技术细节或者编程速度,更重要的是程序员的综合素质。以下是对这些修养的详细解释: 1. **专研精神**:程序员应具备深入研究问题的能力,善于学习新知识,并能够通过询问和探索解决问题,...

    编程修养-陈皓-C\C++

    【编程修养】是每个程序员在成长过程中必须重视的素质,它不仅关乎个人技术水平,更体现了对工作的态度和专业精神。陈皓在《编程修养》中强调了五个关键方面,包括钻研精神、积极态度、沟通能力、谦虚谨慎以及编写高...

    编程修养.rar

    《编程修养》这一主题涵盖了程序员在编码过程中应具备的基本素质、技能和思维方式。这份压缩包文件中的"编程修养.txt"可能包含了一系列关于如何提升编程能力、优化代码实践以及培养良好编程习惯的文章或笔记。 首先...

    编程修养 编程修养

    【编程修养】是每个程序员必备的素质,它关乎到代码的可读性、稳定性、易维护性和专业性。良好的编程修养不仅使程序更易于理解和管理,还能提升个人和团队的开发效率,降低后期维护成本。 1. **专研精神与学习能力*...

Global site tag (gtag.js) - Google Analytics