Dakaren.COM: Stay hungry, stay foolish~ 设为首页 | 加入收藏 |注册管理

达卡人技术博客™
        dakaren技术博客,博广天下–源码算法|图像增强|经验总结|设计方案|学习教程! >>> 本站作为一个技术站点,并不是简单复制转载一些文章而已,所以不可能每天都更新,也没有那么多精力,希望体谅,但我们会努力和大家交流最有用的东西。也欢迎您来稿来信,共同进步。谢谢dajia's支持! 给大家推荐一个不错的CV网站>>计算机视觉论坛:http://cvchina.net

  • 编程开发
  • 图像处理
  • 算法源码
  • C++技术
  • 经验总结
  • 数据库经
现在的位置: 首页 >经验总结>正文
RSS
上一篇 下一篇
experience category
五个方法成为更好的程序员
发表于524 天前 ⁄ 经验总结 ⁄ 评论关闭 ⁄ 被围观 14 views+

对我来说,一个好的程序员应该是努力去追求尽可能无错的高质量的符合需求的代码实现。 一些人也许认为好的程序员是那些懂得多门编程语言,懂得很牛技术的程序员,是的,这在某些情况下是对的。但归根到底,无论你用什么样的技术,什么样的语言,所有的程序被写出来,其功能都要符合需求以及尽可能地健壮无错和高质量。  我们可以想像一下,如果一个能力普通的程序员有足够多的时间来做测试,那么,其也可以保证他的代码的质量。所以,有一种观点这样认为——要达到质量高的代码只需要有足够多的时间来做测试。这对于以结果为导向的商业软件开发中是可以理解的(我们可以看到那些制汽车的产商在汽车测试上花费的精力和时间就可以明白这一道理)。

但是,很明显,所有的已经开发出来项目都是在不完美的条件下开发出来的,一般来说,几乎所有的项目都是在最大化程序员软件的开发速度。而且,很多情况下,我们似乎对深度测试和压力测试并不是很关心,所以,我们总是在祈祷并期望那些赶工出来的代码可以正常工作,尤其是在上线的时候,这种唯心主义的价值观更为强烈。  其实,开发速度和软件产品质量并不矛盾。好的程序员并一定是技术强的程序员,而是那些可以在不完美的工作环境下保证软件质量和工作效率的程序员。下面是是五个程序员可以在这种不完美的情况下做得更好的观点(它们都和语言和技术没什么关系,只不过是一种你的工作行为,能够和所有的行业相通),这五个观点也许可以让你成为这样的好程序员。

 

  • 寻找不同观点:程序员好像并不喜欢技术上有异见的人,他们特别喜欢争论各自的技术观点。但是,他们忽略了不同观点的价值。任何事情都有好有坏,我们应该学会在不同观点中学习和平衡。这样才会更多的了解编程和技术。要经常在做事之前问自己和别人,这么做对不对?做完事后问自己,还可不可以改进?努力去寻找别的不同的观点或方法。程序员应该经常上网,经常和同事讨论不同的实现方法,不同的技术观点,这样才能取长补短。然而,在实际工作中,我发现程序员们并不喜欢互相请教,因为请教的人怕别人看不起他,而被请教的人总是先贬低对方的能力,哎……(参看《十个让你变成糟糕的程序员的行为》),如果有这样的文化氛围的话,那也没有关系。上网吧,网上的人谁也不认识谁,可以尽情地问一些愚蠢的问题。呵呵。总之,一定要明白,如果某些事情只有一个观点,那么你一定要怀疑一下了,没有观点和技术方案的比较,没有百花齐放的情况,你就无法知道是否还有更好的东西。真正的和谐不是只有一种声音,真正的和谐而是在不同的观点声音下取长补短,百家争鸣(参看《十条不错的编程观点》)。否则,你永远都不会接受到新的观点,也就无法进步和成长了。

 

 

  • 千万别信自己的代码: 在任何时候,一定要高度怀疑自己的代码。很多时候,错误总是自己造成的。所以,当出现问题的时候,要学会review代码中所有的可疑点,千万别觉得某段代码很简单,可以略过。事实证明,很多疏忽大意都是在阴沟里翻的船,都是那些很低级的错误。在查错的过程中,切忌过早下结论,切忌四处乱改(参看《各种流行的编程风格》),停下来,想一想,会是哪儿的代码有重大嫌疑,然后查看一下代码,捋一捋程序的逻辑(参看《橡皮鸭程序调试法》),调试并验证一下程序的逻辑和变量在运行时是否是正确的。很多时候,对于那些难缠的问题,最后解决了总是因为我们开始认真回头审视所有的代码。只有对自己的代码保持着高度的怀疑,这样我们才会想着如何让其运行得更好更稳定,也会让我们在单元测试中下更多的功夫,这样才能更能在那忙碌的环境中节省时间。相信我,在集成测试中fix bug的成本要比在单元测试Fix bug的成本大得多的多。一个简单的例子就是memory leak。程序员对自己的程序需要有忧患意识,这样才会越来越成熟,而自己的能力也会越来越强。

 

  • 思考和放松: 做事前多想一想,这样做事的时候就不会不顾此失彼,手忙脚乱,一旦事情一乱,你的心情也会更乱,于是,事情也就会更乱。最后,你只得重写,这种事情太多了。而且,在工作中要学会享受,要学会放松心情,我并不是让你工作的时候聊QQ,我只是说,有时候,心态过于紧张,压力过大,你的工作成果反而更不好,从而又反过来造成新一轮的焦虑和紧张。我个人认为,思考和放松是可以完美统一的,思考其实就是一种放松,停下来,休息一下,回头看看走过的路,喝口水,登个高,看看过去走的对不对?总体是个什么样?总结一下,然后看看前路怎么样好走,这会你才会越走越好,越走越快。好的程序员都不是那种埋头苦干的人,好的程序员总是那些善于总结成败得失,善于思考,善于调整,善于放松的人(参看《优秀程序员的十个习惯》)。不然,我能看到的情形是,你很快地把事干完,回到家刚坐下来,老板或是客户就打电话来告诉你你的程序出问题了。总之,深思熟虑,动作会很慢,但是你可以保证你工作成果的质量,反而能让你更多的节约时间。

 

  • 学习历史,跟上时代: 如果你是从十年前开始编程的,那么,今天的这门语言或是技术会有很多很多的改进和改善。你以前开发一个功能或函数,今天早已被集成时了语言中,而且做得比你的版本要好得多。以前你需要100行代码完成的事情,今天只需要1行代码。这样的事情在未来还会发生,所以,今天的你一定要学会如何跟上时代。但是,你也不要放弃历史,我现在看到很多程序员对一些现代的语言和技术使用的非常好,他们可以很容易地跟上时代。但不要忘了,计算机世界的技术更新和技术淘汰也是非常猛的。所以,你一定要学习历史,这些历史不是产商的历史,而是整个计算机文化的历史(参见《Unix传奇》)。只有通过历史,你才能明白历史上出现的问题,新技术出来的原因,这样才能够对今天的这些新的技术更了解,也才能明白明天的方向在哪里。学习历史和跟上时代都是相当重要的。使用新型的技术,停下来接受培训,可以让你工作得更快,更高效(参看《未来五年程序员需要掌握的10项技能》)。而学习和总结历史,才会让你在纷乱的世界中找到方向。

 

  • 积极推动测试活动: 只有测试才能证明软件可以正常工作,只有测试才能保证软件的质量。无论什么产品,都需要经过或多或少的测试。测试地充分的产品或模块,你会发现其质量总是那么好,测试的不充的产品,质量总是那么次。德系汽车,日系汽车质量怎么样,关键还是在于怎么去测试的,测试的是否充分。所以,在你开发软件的过程中,如果你说你的程序写地好,质量高,那么请你拿出实实在在的测试报告。在整个软件开发过程中,做为一个好的程序员,你应该积极地在各个环节推动项目组进行测试活动。不要以为技术需求阶段和设计阶段不需要测试,一样的,只要你要release什么,release的这个东西都需要进行测试。技术需求怎么做测试?用户案例就是测试案例。在软件开发的整个过程中,保证产品质量有时候比实现需求更重要,尤其是那些非常重要甚至人命关天的产品。

上面这些五个观点都是可能让你在不完美的工作环境中可以工作得更好,更快,更高效,希望能够对你有用。另外,也欢迎你留下你的观点!

(全文完)

http://coolshell.cn/articles/2606.html

No related posts.

固定链接: 五个方法成为更好的程序员 | 达卡人技术博客 +复制链接

作者: dakaren

该日志由 dakaren 于2010年08月31日发表在经验总结分类下,
原创文章转载请注明: 五个方法成为更好的程序员 | 达卡人技术博客
【上篇】五种应该避免的代码注释
【下篇】老手是这样教新手编程的

报歉!评论已关闭.

  • 最新文章
        程序版本管理:Windows下SVN S C++开源库详细介绍 C++ string 详解 统计程序运行时间的C++源代码 利用GPU实时绘制水墨画效果 转载 算法的力量 李开复__转自李开复网 CvChina计算机视觉论坛代找图像视 超酷iPhone增强现实软件:实时翻译 常用的数字图像去噪典型算法及matl Wiener2滤波C++代码
  • 热门文章
        统计程序运行时间的C++源代码 去除MFC中"Untitled-MyApp" 利用GPU实时绘制水墨画效果 转载 两种方法使用VC遍历文件夹下所有 新东方密传的高效背单词方法。这样 粒子滤波简介以及相关技术探讨 VC中利用多线程技术实现线程之间 ADO中_variant_t变量的使用与转 msvcr80d.dll--处未处理的异常: 0x wordpress网站用户个性图像设置技巧
  • 随机文章
        • Wiener2滤波C++代码
        • 上海市人类精子库招募捐精志愿者,
        • 计算机视觉文献与代码资源(转)
        • 再次写给我们这些浮躁的程序员zz
        • SQL Server不允许进行远程连接
        • 常用的几种VS编程插件
        • 白领工作压力大 专家支招助减压
        • 视频文件的读取与保存-OpenCV学
        • CvChina计算机视觉论坛代找图像视
        • SVM学习之四——支持向量机的原

推荐栏目

    jottings category
    情感随笔

    简单记录生活的点点滴滴,很随意,随心而动……

    cpp category
    C++技术

    C/C++技术信息,相关技术,该语言的学习资料及文档,以及学习编程经验分享

博文分类

标签

.NET ARM C cvchina GSL lib Linux OpenCV SVM Unix VC Web Windows 二值化 关键字 卡尔曼滤波 压力测试 名师介绍 噪声 图像变换 图像增强 图像处理 多线程 学习 嵌入式 开源 插值 数据库 数据挖掘 文件 机器学习 椒盐噪声 源码 滤波 界面美化 算法 粒子滤波 经验 调试 远程连接 通信 随感 随笔 面试经验 高斯

 

2012 二月
一 二 三 四 五 六 日
« 十一    
 12345
6789101112
13141516171819
20212223242526
272829  

分类目录

  • C++技术
  • 名人名站
  • 图像处理
  • 情感随笔
  • 技术资讯
  • 数据库经
  • 算法源码
  • 经验总结
  • 编程开发
  • 网络技术

最新评论

  • 又快又好的减肥方法:
    博客不错 加油
  • e路航:
    学习LZ好榜样哟
  • 好买吧:
    如果再给我一次机会我会说我爱
  • 肤美灵洗面奶:
    过来学习下·······
  • 随风飘荡:
    博主的文章很棒,支持! ht
  • 靓邦素:
    文章很不错 值得学习 呵呵
  • lexia 3:
    好文章!值得一看
  • 购物吧:
  • 伊丽莎白雅顿香水:
    很不错的,顶一下下
  • 什么减肥药最有效果:
    很少关注

网站统计

    日志总数:134篇
    评论总数:389条
    分类总数:10个
    标签总数:63个
    友情链接:23个
    网站运行:1135天
最后更新:2011年11月17日
  • 关于我们
  • 作品展示
  • 校园信息
  • 留下足迹

返回首页

Copyright © 2010-2011 达卡人技术博客  保留所有权利.  Theme by Robin   基于 WordPress 技术创建   74次查询   鄂ICP备09014346号 
不想听你唠叨×
  • 我同学说﹕我搁的洗衣粉太多了。另外一个问﹕什么?你哥的媳妇儿太多了? No related posts.
  • 站点搬入新空间,欢迎来访 No related posts.
  • 我有个同学黑了些,她bf又太白了些,有天宿舍里得毒舌天后突然对她冒出一句﹕”你们这样不行,你们会...