态度决定一切——读《Writing solid code》有感

原创 2004年10月10日 11:16:00

 

       回想读过的这本书,内心的感受只有一句话:态度决定一切!

       在网上经常可以看到有人问“如何才能学好编程?”或者“为什么国内程序员不如国外程序之类的问题?”其实看看《Writing solid code》这本书就知道了,对于assert的编写和使用,作者用了整个第二章来描述,而看似只是简单的一个断言宏,实际工作中随时有可能使用到,而且使用的方式也很有技巧可探讨,试问国内又有多少人能做到刨根问底的研究这个小小的宏?这就是态度问题了。很多人热衷于跟风各种各样层出不穷的新技术,而对于计算机的本质:体系结构、编译原理……等真正的计算机科学技术不屑一顾,在别人架构的华丽平台上孜孜不倦的堆着代码,还认为自己非常牛B,只在网上抱怨怀才不遇或者讨论那种语言更有“钱途”这类的废话。

       作者还举过一个memcpy()函数实现的例子,我印象中很多公司招人的时候喜欢要求应聘者写一个memcpy()函数,来考察其对语言的理解程度,很多人都写成如下方式:

void memcpy(void* pvTo, void* pvFrom, size_t size)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

{

    void* pbTo = (byte*)pvTo;

    void* pbFrom = (byte*)pvFrom;

    if(pvTo == NULL | | pvFrom == NULL)

    {

        fprintf(stderr, “Bad args in memcpy/n”);

        abort();

    }

    while(size-->0)

        *pbTo++ == *pbFrom++;

    return(pvTo);

}

       几年前我第一次读《Writing solid code》前试着写的时候更加“惨烈”,甚至连指针是否为NULL都没有处理都就直接移动了,更加没有考虑维护如下的debug版本:

void memcpy(void* pvTo, void* pvFrom, size_t size)

{

    void* pbTo = (byte*)pvTo;

    void* pbFrom = (byte*)pvFrom;

    #ifdef DEBUG

    if(pvTo == NULL | | pvFrom == NULL)

    {

        fprintf(stderr, “Bad args in memcpy/n”);

        abort();

    }

    #endif

    while(size-->0)

        *pbTo++ == *pbFrom++;

    return(pvTo);

}

       在读过《Writing solid code》后只剩下羞愧:

void memcpy(void* pvTo, void* pvFrom, size_t size)

{

    void* pbTo = (byte*)pvTo;

    void* pbFrom = (byte*)pvFrom;

    assert(pvTo != NULL && pvFrom != NULL);

    while(size-->0)

        *pbTo++ == *pbFrom++;

    return(pvTo);

}

之前根本没有过考虑过太多代码的健壮性与简洁性,只以为自己功能实现就完事ok,从此才知道自己的代码离优质的商业代码的差距有多远。这就是态度的问题:为什么开始的时候不能考虑那么多?因为没有用心去面对这段代码!记得以前老师说过做计算机开发很重要的一点就是用心,设计代码的时候要把自己的思维计算机化。如果这段代码代表我的身体,肯定我不会容忍缺胳膊少腿的情况出现,我没有用负责的态度面对代码,所以才造成残缺不全的代码出现。

在大学的时候大家都比较毛躁,估计冲动是现在大学生的通病了吧,以我所见,计算机系能静下心来写代码的学生都不多,接触过过大型系统开发的更加少,大家都指望着热门专业(考大学时候计算机是热门)毕业后就能坐在宽敞的空调办公室里体面轻松的拿着高薪享受小资生活,而没有以严谨的态度面对计算机开发工作,偶尔一点热情坐下来写几行代码的时候却烦心于debug过程,计算机永远都只认识01,它不会欺骗人,对就是TRUE,错了就是FALSE,不可能推个云手来体现一下中庸之道,做计算机开发只能以负责的态度面对,不然趁早改行去做行政单位,若干年后领导就可以对手下人指手画脚了!

记得大学的时候有同学以“反正听不懂”为由逃课出去玩,教导员屡禁不止,正可谓:道高一尺,魔高一丈!最后只能无奈的说:“听不听得懂是能力问题,去不去是态度问题,就算你听不懂,至少你也给老师一个好点的印象,考试才能手下留点情面……”其实编程是一样的道理:不会可以学,世上无难事,只怕有心人。但是如果没有心,即使是小水沟也跨不过去。当然人总是有惰性的,很多时候我也想偷懒,不想坚持下去,但是能不断提示自己分清楚主次,锻炼自己严谨的态度是最重要的!

10多年前最初接触286,只是把它当作单显游戏机而已,写几十行的简单BASIC程序只能依靠兴趣来维持。到今天,专门从事网络方面研发的工作也已经超过3年了,以后即使我不再从事计算机开发工作甚至离开计算机行业,但是无论做什么事情,我都坚信一点:态度决定一切!

态度决定一切!

        我缺乏耐性,自从上大学以来一直都是。我只对自己感兴趣的技术充满热情和好奇心,而对于严格的,工程化的东西有种不适应。在这家公司半个多月来,我越发明显地觉的自己的态度有问题,并没有严肃地对...
  • killme2008
  • killme2008
  • 2006年03月30日 20:18
  • 780

学习感悟:态度决定一切

结合自己的实际情况,借助强哥的帮助,分析了学习Java存在难点。注意并解决了文中提到的问题,学习之路就必将另一番景象。...
  • frgod
  • frgod
  • 2016年05月25日 21:47
  • 807

其实性格决定命运,细节决定成败,知识改变命运,学习成就未来,观念决定行动,思维决定出路,态度决定一切

其实性格决定命运,细节决定成败,知识改变命运,学习成就未来,观念决定行动,思维决定出路,态度决定一切,他们唯一的目的是要你认清自己的短处,发挥自己的长处,慢慢改正自己的缺点。以文章《变色龙》为例,如果...
  • xiejinfeng850414
  • xiejinfeng850414
  • 2014年05月21日 22:16
  • 4081

观念决定态度,态度决定一切

观念决定态度,态度决定一切        作者: 杨争 | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息 网址: http://blog.csdn.net/yzhz/archive/2...
  • yzhz
  • yzhz
  • 2010年04月29日 17:12
  • 4441

第二段:态度决定一切

软件上,国内基本上只有大企业和小企业之分,由于大家都是没有道德,大企业本来就缺德,到处“免费”搜刮,所以小企业也失去创新动力;同时,小企业也总是希望天上掉下个林妹妹,直接拿来就能用。至于那些做产品的公...
  • simonjw
  • simonjw
  • 2013年03月16日 07:31
  • 355

状态模式---态度决定一切

声明:文章内容根据大牛博客的内容,自己理解后,给自己做的学习笔记,文末会附上大牛博客地址链接。有需要沟通交流的可加我QQ群:425120333 每人个每天都有自己的态度,或高兴、或伤心、或幸...
  • cqb18257344546
  • cqb18257344546
  • 2017年03月25日 09:12
  • 180

“态度决定一切”随想

 近期讨论最多的一句话好像就是“态度决定一切”。经过仔细思考,的确寓意深刻,而且非常正确。写书,做事,甚至做人等又何尝不是这样呢? 做任何一件事,态度是非常重要的决定性因素,影响着整个事件进展的始...
  • chenguoda
  • chenguoda
  • 2008年04月01日 19:39
  • 114

C++ 态度决定一切

/*    * Copyright (c) 2012, 烟台大学计算机学院   * All rights reserved.    * 文件名称:...
  • RSwky1220
  • RSwky1220
  • 2012年10月19日 13:11
  • 832

态度决定一切

说态度不能决定一切,这是抬杠“态度决定一切”是一种积极的思维
  • pkcs12
  • pkcs12
  • 2006年08月11日 22:57
  • 508

“态度决定一切”随想

 近期讨论最多的一句话好像就是“态度决定一切”。经过仔细思考,的确寓意深刻,而且非常正确。写书,做事,甚至做人等又何尝不是这样呢? 做任何一件事,态度是非常重要的决定性因素,影响着整个事件进展的始末和...
  • lycb_gz
  • lycb_gz
  • 2005年10月31日 17:10
  • 1590
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:态度决定一切——读《Writing solid code》有感
举报原因:
原因补充:

(最多只允许输入30个字)