`
otom31
  • 浏览: 226878 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

[转] 应该为这样的代码感到惭愧

阅读更多

大学时专业是机械,工作后来才干了软件。所以对于软件我可以说是半路出家。但一路走来还真应该感谢几位导师以及他们的几句话,这些话让我在钻研 技术的同时也在不断思考。

1 可以理解的才是代码,无法理解的是垃圾
   这是我进入公司后印象深刻的第一句话,这句话也让我立刻意识到我之前写过的成千上万行曾经还让我自信满满的代码很可能就是垃圾,因为自从我写过后就不想再 去看。从那以后,我就开始为不制造垃圾而努力!
 
2 最难的是命名
   那时导师无论对设计还是代码都要求很严格。代码检查的时候会不时地提出一些命名问题。有的是词不达意,有的是牛头不对马嘴。对于命名问题,被指出后可以很 快有更改方表明对问题还是有比较深刻的认识,只是命名时没有太在意。如果很难给出更改方案,那很有可能有更深层次的问题,要么函数结构不合理,要么根本没 有理解问题域。有时命名不是单纯的名字问题,同时还和分析设计有密切联系。
 
3 对自己放松就是对他人苛刻
   无论是做设计还是写代码,很多时候都要和团队成员交流或者交付给他们使用。如果在这过程中不严格要求自己,凡事都差不多就行,到最后可能就会苦了团队成 员,这很有可能还是包括自己。试想下,如果经过一段时间后自己要重新面对以前做过的,是不是很有可能会掉进当初自己设下的陷阱呢?
 
4 分清事实和假设
   这是遇到问题的时候,导师教给我的一句话。我在一次连续一周的“抓虫”行动中对这句话的感受尤为深刻。开始的几天每天都在怀疑不同的东西,而且不断地改变 方向。这样下来感觉每天都很忙,但都没有进展和头绪。到了后来不得不改变策略,严格分清事实和假设并开始明确方向,随着更多的假设被证实,“虫虫”也就无 处藏身了。
 
5 这不是在设计,而是拼凑
   再后来加入了一个新的团队,遇到了新的导师。不过我还是用原来的方式努力设计编码。但每每我提交设计的时候,导师都会告诉我“这不是在设计,而是拼凑”。 开始确实感觉很受打击,而且有些不服气,“以前我都这样的,也没有人指出什么不是,为什么到你这里就这样啊。人和人差别咋就怎么大呢?”但随着一次次被否 定后一次次的修改,我开始感受到了不一样,看到了欣喜的变化。最后我不得不承认当初自己确实在拼凑,而且拼凑得理所当然。
 
6 程序员应该为这样的代码感到惭愧!
   这是一次代码检查中的事。那时为了满足公司的一个编码规约,我把很自然的逻辑反过来写,不仅代码多了,而且也更难理解。当被指出问题后,我理直气壮地说这 是编码规约规定的。这时导师就指出了“程序员应该为这样的代码感到惭愧!编码规约是死的,人是活的,认为对的就应该坚持和尝试”。会后我反思了下,其实写 代码的时候我就很矛盾,但一念之差我还是选择了编码规约。后来在遇到类似的情况,我就更有勇气听自己的心,至少尝试一下。否则感觉对不起这样一个职业。
 
上面的很多话都已经过去很久了,但每当想起总还感觉就在耳边。这也许是因为他们真正触到了我的心,并让我的大脑不断思考。
分享到:
评论

相关推荐

    追求代码质量:驯服复杂的冗长代码

    代码太多了!内部类耦合复杂性是如何产生关联的... 我毫不惭愧地承认,在看到复杂的代码块时,我也会感到恐惧和心里发毛。事实上,我敢说您在遇到大量方法和乱七八糟四处蔓延的类时,也会有些心里发毛的。不能说在这些

    形容惭愧的成语.doc

    形容惭愧的成语.doc

    护士满心惭愧辞职报告.doc

    护士满心惭愧辞职报告.doc

    六行python代码的爱心曲线详解

    前些日子在做绩效体系的时候,遇到了一件囧事,居然忘记怎样在Excel上拟合正态分布了,尽管在第二天重新拾起了Excel中那几个常见的函数和图像的做法,还是十分的惭愧。实际上,当时有效偏颇了,忽略了问题的本质,...

    形容惭愧的成语精选.doc

    形容惭愧的成语精选.doc

    寒假里的惭愧事作文.doc

    寒假里的惭愧事作文.doc

    一件惭愧的事作文.doc

    一件惭愧的事作文.doc

    扫雷 V0.93 (完整代码)

    最多也就是优化点代码、添加点注释,应该不会再出新的版本了。 :)***********************************V0.92 Date : 2002-8-13 * 修改了在切换菜单时的两个 Bug 。 * 根据...

    阿凡达为何让中国营销人惭愧 管理资料.doc

    阿凡达为何让中国营销人惭愧 管理资料.doc

    C#程序员统计自己的代码行数

    很多程序员都以自己写的代码的行数作为自己程序员阅历的一个标志,如何统计呢,以下是具体内容。 小编,已经快学了两年编程了。昨天突发奇想,想统计下这些年到底写过多少行代码,于是做了一个这个小程序来统计代码...

    【JavaScript源代码】JavaScript基于SVG的图片切换效果实例代码.docx

    JavaScript基于SVG的图片切换效果实例代码  最近太忙了,自动来到rjxy后,不晓得怎么回事,忙的都没时间更博了。 昨天还有个同学跟我说,你好久没更新博客了。。 甚为惭愧~~ 正好12月来了,今天开一篇。 最近...

    C# 委托 线程 事件的实例代码

    说句不好意思的话,搞C#2年多了,只抄来就用,从没实际了解过,真正掌握后,原来代理把很多实现代码搞这么简单,惭愧以前走很多弯路。 搞NET C#这个必会啊,C#优势啊。 资源来源与CSDN,感谢编写者。

    Python实现任意进制间的转换 简单通俗易懂版本

    此外,通过这一学期的学习,希望我可以把代码写的更加美观(回头看看自己大一写的代码,真的是又水又丑,再看看现在大一学弟们的代码,真是惭愧了!)。有空一定要把《代码整洁之道》拿来好好拜读一下。也希望有幸...

    AndroidCodeStandard:Android代码规范文档

    做开源几年了,被很多人夸大,你的代码写得比较规范,,但是迟迟没有出一个代码规范,说来惭愧,只是因为我早几年写的代码还不够规范,不敢出来误导大家,而代码规范是后续才慢慢养成的,在这个过程中,我另外参考了...

    html5版街头霸王游戏源码

    为毛要搞这样一个东西呢. 保护原型, 继承的时候修正constructor什么的, 反正现在不搞个Class.create都有点不太好意思. 这里也借鉴了prototype框架里的一些思路. 相对于prototype里的换汤不换药. 这儿的class.create...

    Peercast(王浩聪注释版)

    不过核心的代码我想应该还是比较清晰的,大家可以参考一下。我把Peercast注释版发到CSDN的资源上,大家可以访问http://download.csdn.net/hicsdn/bbisonic进行下载,以后我就不回复索要代码的留言和邮件了。也是很...

    使用React代码动态生成栅格布局的方法

    作为前端新手的我,做下面这个简单功能花了好几天时间,问了不少前端大佬(大佬们应该要不到半个小时,惭愧惭愧),现在回想问的问题都很基础(有点丢人,哈哈),多谢了哦。 先看看效果 点击浏览源码:开源项目...

Global site tag (gtag.js) - Google Analytics