技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

随笔分类 -  代码风格&质量

上一页 1 2 3 4 5 6 下一页

程序员最头疼的事:命名
摘要:http://kb.cnblogs.com/page/192017/作者: Phil Johnson来源: 伯乐在线发布时间: 2013-11-05 21:53阅读: 469 次推荐: 3原文链接[收藏] 原文链接:Don’t go into programming if you don’t have a good thesaurus 许多程序员认为编程时,如何命名不仅是他们面临的老大难问题,也是最重要的事情之一。 上周,我发起了一个“程序员编程中的老大难问题”的投票,主要是基于最近Quora上的跟帖讨论。根据大家的反响和投票结果,有一项投票遥遥领先,稳居第一——对于软件开发人员来说,最... 阅读全文

posted @ 2013-11-06 10:36 codestyle 阅读(415) 评论(0) 推荐(0) 编辑

丰田栽了的原因,嵌入式软件工程师都该看看
摘要:http://www.amobbs.com/thread-5557598-1-1.htmlhttp://geek.csdn.net/news/detail/3298【第一部分】背景简介前几年闹得沸沸扬扬的丰田刹不住事件最近又有新进展。十月底俄克拉荷马的一次庭审,2007年一辆2005年凯美瑞暴冲(Unintended Acceleration,UA)致一死一伤事件中丰田被判有责。引起广泛关注的是庭审中主要证人Michael Barr的证词让陪审团同意丰田的动力系统软件存在巨大漏洞可能导致此类事件。这是丰田在同类事件中第一次被判有责。庭审过后丰田马上同意支付300万美元进入调解程序。出于好奇,我 阅读全文

posted @ 2013-11-05 16:30 codestyle 阅读(234) 评论(0) 推荐(0) 编辑

[探讨]如何成为有代码洁癖的程序员?
摘要:http://www.csdn.net/article/2013-10-22/2817253-programmer摘要:有人说,一个厨师如果不懂得品尝美食,就永远无法把菜做好。一个程序员如果看不出来多一空行和少一空行有什么区别,那就永远写不好优美的代码。如何成为一名有代码洁癖的程序员呢?本文将为你支招!有没有那么一瞬间,你写的代码让自己和兄弟们都感觉很凌乱?有没有那么一瞬间,有段代码就放在你眼前,你却读不懂它?有没有那么一瞬间,你要花很长时间去读别人写的代码?有没有那么一瞬间,你的参数过长却不知道怎么办?有人说,一个厨师如果不懂得品尝美食,就永远无法把菜做好。一个程序员如果看不出来多一空行和少 阅读全文

posted @ 2013-10-28 14:09 codestyle 阅读(688) 评论(0) 推荐(0) 编辑

google jam 比赛题(设计有问题)
摘要:题目:ProblemDo you know how to read the phone numbers in English? Now let me tell you.For example, In China, the phone numbers are 11 digits, like: 15012233444. Someone divides the numbers into 3-4-4 format, i.e. 150 1223 3444. While someone divides the numbers into 3-3-5 format, i.e. 150 122 33444. D 阅读全文

posted @ 2013-10-08 18:02 codestyle 阅读(397) 评论(0) 推荐(0) 编辑

如何避免重构带来的危险
摘要:http://blog.jobbole.com/30049/重构代码很危险,它会给测试工作增加巨大的负担。除非你的程序需要重构,一定不要轻易重构代码。我这里所说的并不是把一个for循环改成while循环,或把一个StringBuffer改成StringBuilder,我说的是大动作,例如重写一个方法,一个函数,甚至整个类或包。如果你缺乏对一个方法或一个类的了解,那你重构它的条件就不充分。即使你有一个天才的计划,你也需要和团队一起设计其中重大的修改。当属于下列情况时,你不该重构● 对于你来说,它的逻辑看起来过于复杂,你没有花时间去分析它。●你不理解为什么前任程序员要这样编写。●你着手的是一个很重 阅读全文

posted @ 2013-09-24 09:19 codestyle 阅读(447) 评论(0) 推荐(0) 编辑

代码抽象层次2
摘要:看了kent的实现模式,对代码抽象层次有了一点理解,kent首先问了一个问题,下面的代码有神马问题?void compute(){ int flag = input(); flag |= 1; output(flag);}粗看来没有,但其实不然,但其实,input和output已经是高层抽象了,例如你并不知道输入来自于何方,到底是键盘输入呢,还是文件输入,又或者是网络输入,同样output也是如此,但是中间设置flag的语句则是一个低层抽象,如果整个函数都是低层抽象,代码应该是这样:void compute(){ extern char *s; int fl... 阅读全文

posted @ 2013-09-22 13:20 codestyle 阅读(241) 评论(0) 推荐(0) 编辑

新鲜出炉的awk代码
摘要:echo "" | igawk -f main.awk# 需求:按照多种充值方式的多种金额类型进行累加统计# 充值方式:移动卡 10,30,50,100元,联通卡20,30,50,100 电信卡 20,30,50,100,300 # wap快充 2,3,5,10 移动短充,2,3,5,10# 设计:SQL语句取得表虽然不一致,但是我保证所有的记录集都包含2个字段,单元是元# (固定金额的)累加值,固定金额# 除了支付宝的其他数据表都没有记录泡豆数,但是金额可以推算出泡豆比例# 目前有两种,一种1比10 ,一种1比8, 换算是通过savePay... 阅读全文

posted @ 2013-09-18 17:27 codestyle 阅读(483) 评论(0) 推荐(0) 编辑

老码农:如何写出让自己满意的代码
摘要:http://blog.jobbole.com/47966/今天有位朋友在微博上问我这样一个问题:“@老码农的自留地,最近出于学习目的写一个管理系统,越到后边,越觉得自己前边的代码写得烂。前辈,我想让代码写得更好一点,能不能谈谈你的经验,给我指点一下!”我在回复里刚写了几句,就意识到140个字很难把我的想法说清楚,本着知无不言言无不尽的好为人师精神,我决定把我的回答写成一篇博文。首先要说明的是,我写这篇博客并不代表本人觉得自己的代码写得有多好。事实上我很清楚自己的水平,作为一个做应用系统的程序员,和那些做框架做系统的大牛根本就不在一个层次。而且即使在应用层次,我的水平大概也只能算二三流,只是因 阅读全文

posted @ 2013-09-16 11:30 codestyle 阅读(323) 评论(0) 推荐(0) 编辑

想写代码?离开你的电脑吧!
摘要:http://blog.jobbole.com/954/最近我认识到一些事情。写代码的最好地方不是在电脑前用你的编译器、集成开发环境和各种工具来写。写代码最好是远离所有这些工具,去到你能够正确思考的地方。你相当熟悉一种语言了,你很容易就能把你心中的程序翻译成编译器可以编译(或解释器可以解释)的程序,不过,难就难在心中形成程序。前几天我坐火车去旅行。我带了电脑,但没有网络。很不幸,我正要用一个商业编程语言(碰巧是IDL),为此我得用我们大学的网站许可。由于无法上网,我无法获得网站许可,这样我也就不能运行编译器和集成开发环境。虽然你喜欢商业编程语言,但它需要昂贵的许可,而它那时使我不能用编辑器写代 阅读全文

posted @ 2013-09-16 11:29 codestyle 阅读(312) 评论(0) 推荐(0) 编辑

Pythonic到底是什么玩意儿?
摘要:http://blog.csdn.net/gzlaiyonghao/article/details/2762251作者:Martijn Faassen译者:赖勇浩(http://blog.csdn.net/lanphaday)原文地址:http://faassen.n--tree.net/blog/view/weblog/2005/08/06/0注:Martijn是Zope领域的专家,他为Zope系列产品做了许多开发工作,也开发了lxml等多个开源产品。你可以在这里了解一下他的信息http://www.zope.org/Members/faassen。这篇文章写于2005年,虽然有少部分内容( 阅读全文

posted @ 2013-09-13 13:02 codestyle 阅读(540) 评论(0) 推荐(0) 编辑

如何确定编码风格?
摘要:这是最近一直在想的一个问题,编码风格说着简单,不就是变量名的大小写,缩进使用空格还是tab键什么的吗?其实不然,它既包含刚才说的这些命名上的规则,也包含更高级一些的内容,例如错误机制(是使用函数返回值,还是异常)以及错误机制怎么使用,这些内容属于什么呢,属于编码惯用法,这些惯用法受语言,所采用的框架,类库的影响(不同语言的惯用法并不完全相同,并且有各自的理由,所以甚至出现某些惯用法在不同语言里互相冲突的情况)并且这些规则也不仅仅只是代码层面的问题,例如错误机制,日志机制,同时也是架构层面的问题。体现在代码里,却由更高层依据某个理由决定。今天想说的是什么呢?还是最浅的那个层次,变量名的大小写,缩 阅读全文

posted @ 2013-09-11 12:35 codestyle 阅读(1961) 评论(0) 推荐(2) 编辑

函数式C代码
摘要:代码如下:#include #include typedef char String[32];typedef FILE* File;typedef struct _Employee { String name; int age; int salary; struct _Employee *next;} *Employee;typedef void (*Callback)(Employee);/* High Order Functions */void foreach(Employee e, Callback fn) { Emplo... 阅读全文

posted @ 2013-08-28 13:13 codestyle 阅读(256) 评论(0) 推荐(0) 编辑

代码的抽象三原则
摘要:http://www.ruanyifeng.com/blog/2013/01/abstraction_principles.html作者:阮一峰日期:2013年1月31日软件开发是"抽象化"原则(Abstraction)的一种体现。所谓"抽象化",就是指从具体问题中,提取出具有共性的模式,再使用通用的解决方法加以处理。开发软件的时候,一方面,我们总是希望使用别人已经写好的代码,另一方面,又希望自己写的代码尽可能重用,以求减少工作量。要做到这两个目标,这需要"抽象化"。最近,我读到美国程序员Derick Bailey的一篇文章,谈到&q 阅读全文

posted @ 2013-08-27 12:48 codestyle 阅读(353) 评论(0) 推荐(0) 编辑

函数式编程初探
摘要:http://www.ruanyifeng.com/blog/2012/04/functional_programming.html作者:阮一峰日期:2012年4月 6日诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来越多的迹象表明,函数式编程已经不再是学 阅读全文

posted @ 2013-08-27 12:40 codestyle 阅读(183) 评论(0) 推荐(0) 编辑

程序之美(转自知乎)
摘要:因为程序是逻辑的集合,是一种结构化的事物,因此程序的美往往体现了某种秩序。1. 基本的秩序是基础 CS 理论的应用,比如程序中实现了一某种数据结构,针对数据结构的某种算法,这些结构和算法都具备一些固定的性质。你的程序具备了这些性质,就在一定层面上(这里是运行时)具备了秩序。数据结构和算法的秩序,就是你的代码“美”的体现;2. 紧接着就是代码的可约性。也就是你的逻辑是不是可以再化简的,一个等式越化简越接近结果,一段代码越化简越接近本质。你实现的基本算法和数据结构,每一行代码都是必须的吗?如果能够化简,说明逻辑是可约的。如果你能保证代码再简单不过了,你就对自己代码有了自信;3. 普适性。一段代码是 阅读全文

posted @ 2013-08-24 13:19 codestyle 阅读(466) 评论(0) 推荐(0) 编辑

pylint
摘要:http://blog.csdn.net/gzlaiyonghao/article/details/6089902http://www.ibm.com/developerworks/cn/linux/l-cn-pylint/index.html?ca=drs-cn-1217 阅读全文

posted @ 2013-08-14 16:06 codestyle 阅读(291) 评论(0) 推荐(0) 编辑

如何管理和优化日益增长的代码复杂度?
摘要:http://www.csdn.net/article/2013-07-30/2816401-managing-code-complexityPlumbr研发管理优化摘要:随着时间的推移,软件项目会变得越来越大,项目中组件之间的依赖关系也会变得越来越错综复杂。那么如何对代码的复杂度进行管理并优化呢?Plumbr项目团队的做法或许可以为你提供一些参考。随着时间的推移,软件项目会变得越来越大,项目中组件之间的依赖关系也会变得越来越错综复杂,项目的维护也会变得越来越困难。Plumbr(Java内存泄露检测器)开发团队的一篇博文揭示他们这个项目在开发过程中,其代码复杂性是如何演变的。本文中的这些代码依 阅读全文

posted @ 2013-08-01 12:14 codestyle 阅读(543) 评论(0) 推荐(0) 编辑

什么是Code Review
摘要:Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节。本文通过对Code Review的一些概念和经验的探讨,就如何进行Code Review和Code Review中应该注意什么提出一些建议。本文中涉及的问题大部分针对JAVA类代码。同时本文不涉及Code Review过程和组织。关键词:Code Review JAVA 代码质量 软件工程一、Code Review简介1 Code Review的目的凡事知其然还要知其所以然,我们首先需要知道什么是Code Review和我们使用它的目的是什么。Code Revie 阅读全文

posted @ 2013-07-15 15:53 codestyle 阅读(828) 评论(0) 推荐(0) 编辑

深度解析:清理烂代码
摘要:http://blog.jobbole.com/28672/本文由伯乐在线-唐小娟翻译自Niklas Frykholm。转载请参见文章末尾处的要求。猜猜看怎么了!你正”继承“(接收)了一堆混乱的旧代码。恭喜你!现在都是你的了。混乱的代码可能来自任何地方。中间件,网络,可能来自你自己的公司。你知道在一个角落里有一个家伙,没有人过去管他在做什么。猜猜看他一直在做什么?辛辛苦苦写出了代码,却是一堆烂代码。你还记得这个模块是一个家伙几年前写的,在他离开公司之前。这个模块已经有20个不同的人加过补丁,进行过代码修复,而且他们也并不理解代码到底是做了什么。是的,就是这样的代码。或者你从网上下载下的开源的软 阅读全文

posted @ 2013-07-02 15:39 codestyle 阅读(291) 评论(0) 推荐(0) 编辑

王淮的码农标准
摘要:http://kb.cnblogs.com/page/173587/摘要:这篇文章只是体现我以前写代码和做代码审查时候的一些原则。供大家借鉴:1、正确性,不能解决问题的代码都是耍流氓;2、可读性, 统一的代码规范;diff发出去之前,code-review之中,check-in之前分别应该做什么? 这篇文章只是体现我以前写代码和做代码审查时候的一些原则。供大家借鉴。欢迎大家补充。 正确性(Correctness) 正确性是第一要求。不能解决问题的代码是耍流氓。结构(CodeStructure) 结构体现逻辑。第一步,第二步;需要什么数据,需要做什么处理,处理完了结果到那里去,都应该在结... 阅读全文

posted @ 2013-06-27 09:05 codestyle 阅读(252) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 下一页