`
jdw
  • 浏览: 162475 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

程序员应该为这样的代码感到惭愧

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

本文出自 “林家男孩” 博客,请务必保留此出处http://bj007.blog.51cto.com/1701577/332161

分享到:
评论

相关推荐

    程序员的代码的代码的代码

    "程序员的代码的代码的代码"这个标题可能是在强调代码的层次性、嵌套性或者递归性,暗示着代码间的相互依赖和复杂性。在描述中,连续重复的短语进一步突出了这一点,可能意味着代码的深度集成或者高度复杂性。 首先...

    基于JavaScript实现的程序员表白爱心代码(2套)

    基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的程序员表白爱心代码(2套) 基于JavaScript实现的...

    程序员佛祖代码注释.txt

    程序员佛祖代码注释,佛祖保佑,代码无BUG

    女程序员征婚需求分析与代码

    女程序员征婚需求分析与代码女程序员征婚需求分析与代码女程序员征婚需求分析与代码女程序员征婚需求分析与代码女程序员征婚需求分析与代码女程序员征婚需求分析与代码

    程序员之表白代码

    在这个实例中,“紫色背景恋爱计时”是一个程序员为表达情感而设计的应用或小程序,它使用了浪漫的紫色背景,给人一种梦幻且温馨的感觉,同时通过计时功能,让回忆和期待交织在一起。 首先,我们要理解这个应用的...

    程序员数学3 的源代码

    《程序员数学3》是一本专为程序员设计的数学学习书籍,其主要目的是帮助读者理解并应用数学在实际编程中的重要性。这本书强调易懂性,通过简洁明了的讲解方式,使得复杂的数学概念变得平易近人。尤其适合那些希望...

    程序员表白代码之情人节快乐!

    在情人节这天,程序员可能会选择将表白代码打包成压缩文件,如"情人节快乐.zip",这样的压缩包可能包含源代码、运行脚本、必要的数据文件以及运行指南。接收者可以按照指南解压并运行代码,体验这份特别的礼物。 总...

    程序员网页爱心表白代码特效大全

    "程序员网页爱心表白代码特效大全"就是这样一个资源集合,它包含了一系列精心设计的HTML特效,旨在帮助懂得网页前端开发的程序员们创建出独特且富有创意的爱心表白页面。 这些特效案例通常涉及到HTML、CSS和...

    程序员代码面试指南-代码

    程序员代码面试指南:IT名企算法与数据结构题目最优解左程云 著 这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现。针对当前程序员面试缺乏权威题目汇总这一痛点,...

    程序员向妹子表白专用代码

    在IT行业中,编程不仅仅是解决技术问题的工具,它还可以是一种表达情感...通过学习和理解这些代码,程序员可以为自己的浪漫行动增添一份科技色彩,同时,这也是一种展示编程魅力的方式,让非程序员看到代码也能有温度。

    8套 程序员表白代码

    总的来说,“程序员表白代码”不仅仅是一段简单的程序,它体现了程序员的个性和创新精神,将技术与情感完美融合,为传统的表白方式注入了新的活力。无论是通过视觉呈现还是交互体验,这些代码都展示了程序员的用心和...

    为什么每个程序员都应该学习代码编译器知识

    每个程序员都应该学习代码编译器知识,因为编译器不仅是将源代码转化为可执行程序的工具,而且深入了解编译器的运作机制可以帮助我们编写出更高效、更清晰的代码。以下是一些关于编译器及其相关知识的重要点: 首先...

    程序员记事本,供程序员保存经常用到的代码

    【程序员记事本】是一个专为程序员设计的实用工具,旨在帮助他们有效地记录和整理日常工作中遇到的各种代码片段。在编程工作中,经常会遇到各种各样的问题,解决这些问题的代码片段往往是宝贵的财富。通过使用这样的...

    程序员向妹子表白专用代码.zip

    在这个名为“程序员向妹子表白专用代码.zip”的压缩包文件中,我们可以期待找到一系列与编程相关的浪漫方式,旨在帮助程序员向他们心仪的对象表达爱意。这个压缩包可能包含了一系列精心设计的代码片段,这些代码在...

    黑马程序员ssm代码分享

    内容概要:通过带着读者手写简化版 Spring 框架了解 Spring 核心原理。在手写Spring源码的过程中会摘取整体框架中的核心逻辑,简化代码实现过程保留核心功能, ...本代码基于黑马程序员的课程,最好根据课程同步学习

    程序员浪漫表白网页代码

    【程序员浪漫表白网页代码】是一种创意的编程技术应用,它结合了HTML、CSS3和可能的JavaScript语言,为程序员提供了一种独特的方式向心爱的人表达情感。这种表白方式不仅展示了程序员的技术实力,还能通过精心设计的...

    程序员表白动画源代码

    "程序员表白动画源代码"就是一个很好的例子,它结合了技术与浪漫,为那些想要以特别方式向心爱的人表达情感的程序员提供了创意的解决方案。这份资源包含两套完整的表白动画源代码,它们可以创建出动态的画面效果,给...

    黑马程序员毕业设计资料,代码,数据库设计论文等

    "黑马程序员毕业设计资料,代码,数据库设计论文等" 这个标题表明这是一份来自“黑马程序员”教育平台的资源集合,主要用于帮助学生进行毕业设计。其中包含了项目代码、数据库设计相关的论文等内容,适用于计算机科学...

    程序员代码面试指南2-代码

    总的来说,《程序员代码面试指南第二版2》结合配套源代码,为准备面试的程序员提供了一个全面的实战平台,帮助他们提升算法技能,增加面试成功的概率。通过学习和实践书中的内容,不仅可以提高面试表现,也能为日常...

    超级代码助手-程序员的好帮手

    【标题】"超级代码助手-程序员的好帮手"揭示了一个专为程序员设计的实用工具,旨在提高编程效率和代码管理能力。这个软件很可能是集成了多种功能,如代码片段存储、代码高亮、代码自动补全等,以帮助开发者更好地...

Global site tag (gtag.js) - Google Analytics