zoukankan      html  css  js  c++  java
  • 编程修养(一)

    编程修养
    ————

    什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。

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

      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版的程序

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


    原文:http://blog.csdn.net/haoel/article/details/2872

  • 相关阅读:
    HDU 1358 Period (KMP)
    POJ 1042 Gone Fishing
    Csharp,Javascript 获取显示器的大小的几种方式
    css text 自动换行的实现方法 Internet Explorer,Firefox,Opera,Safar
    Dynamic Fonts动态设置字体大小存入Cookie
    CSS Image Rollovers翻转效果Image Sprites图片精灵
    CSS three column layout
    css 自定义字体 Internet Explorer,Firefox,Opera,Safari
    颜色选择器 Color Picker,Internet Explorer,Firefox,Opera,Safar
    CSS TextShadow in Safari, Opera, Firefox and more
  • 原文地址:https://www.cnblogs.com/Zoran-/p/5819235.html
Copyright © 2011-2022 走看看