编码的艺术

我在本文中要谈的不是编码的技术实现,我所关注的是关于编码的风格的问题。我在编写了e速的编码规范之后,产生了要写一些关于程序编码风格的念头;因此,就有了以下的文章,这些仅仅是本人的想法,可能在文章中还有一些未尽如人意的地方,所以肯请大家能够给与谅解。

很多人在谈到编码的艺术时,总会说我的程序怎么怎么的厉害,功能多么的强大,好像什么事情都能完成一样;但是去运行他的程序,bug不断;连他自己都不知道错在了什么地方。打开他的程序一看,代码写的凌乱不堪;命名上不规范,为了偷懒和简便有些命名干脆就用一个字母或者其他的简单符号代替,甚至于有些代码连他自己也搞不清是干什么了,更不要说怎样让别人去修改了….本人编码也快4个年头了,像上述的例子遇见过不少,整个程序改动起来实在是头疼。

的确,一件好的艺术品不在于其功能是多么的完善,而在于别人欣赏起来是否有它内在的美和是否很容易就把它从杂货堆里一眼就能辨认出来;毕竟它是艺术品而非日用品。我们写程序也是同样,如果程序中的格式很随意,例如对数组做循环,一会儿采用下标变量从下到上的方式,一会儿又用从上到下的方式;对字符串一会儿用s t r c p y做复制,一会儿又用f o r循环做复制;等等。这些变化就会使人很难看清实际上到底是怎么回事了。

写好一个程序,当然需要使它符合语法规则、修正其中的错误和使它运行得足够快,但是实际应该做的远比这多得多。程序不仅需要给计算机读,也要给程序员读。一个写得好的程序比那些写得差的程序更容易读、更容易修改。经过了如何写好程序的训练,生产的代码更可能是正确的。

注释:注释是帮助程序读者的一种手段。但是,如果在注释中只说明代码本身已经讲明的事情,或者与代码矛盾,或是以精心编排的形式干扰读者,那么它们就是帮了倒忙。最好的注释是简洁地点明程序的突出特征,或是提供一种概观,帮助别人理解程序。在标注注释的同时,应该注意下面的问题:

时间: 2024-12-04 00:54:29

编码的艺术的相关文章

为激励女工程师推出的编程盛宴

去年,高中生米歇尔·阮(Michelle Nguyen)差一点儿就放弃了成为一名工程师的希望.她当时是旧金山Mission高中的一名高三学生(这所学校并没有提供计算机科学类课程),她以为她必须得更聪明.更出色而且得是一名男性才能在计算机科学领域取得成功. "我原本以为要成为一名工程师,首先我得是个男的,"她这样告诉我的时候,她正坐在她家附近田德隆区(Tenderloin)的Square办公室里,那时距离AP计算机科学测试只有几天时间了. 但阮仍然对融入工程师的世界,成为其中的一份子怀有

CCAI | 中国科学院前沿科学与教育局副局长王颖:论人工智能与艺术

中国科学院前沿科学与教育局副局长王颖 大会第二天下午,中国科学院前沿科学与教育局副局长王颖参与了[人工智能科学与艺术论坛]的讨论,并发表了<人工智能与艺术>主题演讲.王颖认为,随着人工智能的发展,教育发展将呈现诸多明显趋势,比如"在线学习方式"与"面对面学习方式"相互结合的混合学习将成为主要模式,学生将从知识的消费者变为知识的创造者:我们需要重新设计学习空间,从以讲授为主的讲座型空间设计,转变为基于项目合作,基于团队展示,基于自主学习等多样化的空间设计.

【转】程序猿该有的艺术气质—SOLID原则

昨天Amazon在我们学校有场讲座,主要是跟我们分享一些经验:作为一个程序员该有的编码硬技术和工作软技术.当然他们也有来我们学校招聘人才的目的,想要吸引我们去他们公司,于我而言,这么牛逼的一个公司我当然特别想去啦,这场讲座我是必听无疑,的确学到了一些知识.没有过实际项目的在校生往往不能写出漂亮的代码(包括编码规范.注释.设计模式.性能等等),因为他们更多注重的正确性,只要结果出来了且是正确的,那么就是好代码,孰不知这样的代码拿给公司的项目经理看,他们会是多么的痛苦啊!呵呵,不说了,作为在校生,我

C# 编码规范和良好编写习惯

谁都会写代码!几个月的编程经验可以让你写出"可运行应用程序".让它可运行容易,但是以最有效率的方式编码就需要下更多的功夫! 要知道,大多数程序员在写"可运行代码,"而不是"高效代码".我们在这个指南课程前面提到,你想成为你们公司"最尊贵的专业人员"吗?写"高效代码"是一项艺术,你必须学习和实践它. 命名惯例和规范 注记 : Pascal 大小写形式-所有单词第一个字母大写,其他字母小写.Camel 大小写形

C# 编码规范和编程好习惯

编程|编码|规范 谁都会写代码!几个月的编程经验可以让你写出"可运行应用程序".让它可运行容易,但是以最有效率的方式编码就需要下更多的功夫! 要知道,大多数程序员在写"可运行代码,"而不是"高效代码".我们在这个指南课程前面提到,你想成为你们公司"最尊贵的专业人员"吗?写"高效代码"是一项艺术,你必须学习和实践它. 命名惯例和规范 注记 : Pascal 大小写形式-所有单词第一个字母大写,其他字母小写.C

追溯中国艺术设计(3)

4.当代艺术设计与传统工艺美术的关系 4.1 二者产生的时代背景 传统工艺美术是通过手工技艺来完成的,建立在农耕文化的基础上,它带有明显农业时代的特征.虽然其中也有一部分民艺品,但大部是为少数官僚士大夫阶层服务的产物,儒士的审美趣味道决定着传统工艺美术的方向和发展.而艺术设计是在工业化大生产中完成的,建立在工业文明的基础上,它带有明显工业时代的特征,为大众服务,民主的意识较强. 传统手工艺从业者地位地下,是历年重视官本文化贬抑民本文化的结果,中国古代的封建等级制度决定了工艺匠人的生存状态.不可否

fontographer艺术字体设计软件好用吗?

  fontographer艺术字体设计软件好用吗? Fontographer 5专业字体设计软件下载,让你能轻松扩展现有的字体,可为已有字体添加包括分数.符号标志.外国字体,和商标Logo. Fontographer 的操作介面容易上手使用,无论对初学者和字体设计专家,承袭Fontographer的操作介面,不需太多的字体设计技能,也可以创造一个整套全新的字体.支持多种字库格式. 相容于FontLab工具:Fontographer 5字库可储存为VFB格式,相容于FontLab工具,如Font

在你编码之前(转)

很多开发者,将自己限定为程序员,觉得自己就是一个专业写代码的,和代码稍微远一点东西,就不感兴趣. 在前一篇文章 <软件开发之未来> 中, 我已经阐述了技术的时效性以及快速更新. 如果我们紧紧把目光局限在代码,而不是分析.解决问题的综合能力,我们将迟早陷入中年危机, 被奔腾的技术潮流淘汰. 这篇文章我想讲讲分析问题.解决问题的基本套路,这是我多年总结下来的习惯,希望对大家有帮助. 绝对不是立刻写代码 有些同学钟情代码,收到一个任务,马上就想到代码实现. 问题都还没弄清楚,工作原理还没分析透,就开

16 款加速编码的 HTML5 在线工具

HTML5 是在开发者和设计者之间最流行的语言之一,提供了大量的功能来帮助开发者们快速的设计 web 应用.HTML5 有很多特性,例如支持现代化的浏览器(比如:Firefox 6,Google Chrome,IE9 等等),结构特定标签,可视化元素:圆角内置,内部拖拽,新的视频,音频和 canvas 元素等. 这篇文章主要是推荐了 16 款 在线 HTML5 工具来帮助用户们简化构建 HTML5 网站的步骤和加快 HTML5 的编码速度.希望能在一下列表中找到对你项目有用的工具,Enjoy !