技术宅,fat-man

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

导航

上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 50 下一页

2014年1月7日 #

编写优美的GTest测试案例

摘要: http://www.cnblogs.com/coderzh/archive/2010/01/09/beautiful-testcase.html使用gtest也有很长一段时间了,这期间也积累了一些经验,所以分享一下。GTest为我们提供了便捷的测试框架,让我们只需要关注案例本身。如何在GTest框架下写出优美的测试案例,我觉得必须要做到:案例的层次结构一定要清晰案例的检查点一定要明确案例失败时一定要能精确的定位问题案例执行结果一定要稳定案例执行的时间一定不能太长案例一定不能对测试环境造成破坏案例一定独立,不能与其他案例有先后关系的依赖案例的命名一定清晰,容易理解案例的可维护性也是非常重要,如 阅读全文

posted @ 2014-01-07 14:15 codestyle 阅读(1828) 评论(0) 推荐(0)

2014年1月6日 #

批量杀死进程的脚本

摘要: ps -ef| grep "/work/stat/read/search/sphinx/book_search_content.sh"|awk '{print $2}'|while read pid; do kill -9 $pid; done 阅读全文

posted @ 2014-01-06 16:56 codestyle 阅读(204) 评论(0) 推荐(0)

C语言:Message类

摘要: message.h#ifndef MESSAGE_H#define MESSAGE_H#define TRUE 1#define FALSE 0typedef struct { int sender; int isSend; int isCharge; char date[8];}Message;Message * makeMessage(const int sender, const char *date);void setSendFlag(Message * const message);void setChargeFlag(Message * const mess... 阅读全文

posted @ 2014-01-06 16:27 codestyle 阅读(2011) 评论(0) 推荐(0)

状态机的c语言编程

摘要: http://blog.csdn.net/shandongdaya/article/details/7282547一 有限状态机的实现方式有限状态机(Finite State Machine或者Finite State Automata)是软件领域中一种重要的工具,很多东西的模型实际上就是有限状态机。FSM的实现方式:1) switch/case或者if/else这无意是最直观的方式,使用一堆条件判断,会编程的人都可以做到,对简单小巧的状态机来说最合适,但是毫无疑问,这样的方式比较原始,对庞大的状态机难以维护。2) 状态表维护一个二维状态表,横坐标表示当前状态,纵坐标表示输入,表中一个元素存储 阅读全文

posted @ 2014-01-06 13:32 codestyle 阅读(4334) 评论(0) 推荐(0)

2014年1月3日 #

让乔布斯立足肩上的C语言之父

摘要: 2011年,人们对乔布斯的去世记忆深刻,但这一年还有另一位本应获得同样关注的人物也与世长辞,他就是C语言之父丹尼斯·里奇(Dennis Ritchie)。不过,并非所有人都没能正确认识到里奇所曾作出的贡献。“乔布斯的逝世引起了一片哭声,那种情形非常动人,而且乔布斯受到这样的待遇也是合情合理的。但在事实上,里奇对这个世界的影响更大,然而公众却甚至都不知道他到底是谁。”编程领域中的传奇人物、目前供职于谷歌(微博)的罗伯·派克(Rob Pike)说道,他曾在贝尔实验室与里奇共事20年。在里奇去世时,派克在Google+社交网络上发帖宣布了这一噩耗。2011年10月8日,在经历了长 阅读全文

posted @ 2014-01-03 18:14 codestyle 阅读(574) 评论(0) 推荐(0)

之前C#代码的重新设计

摘要: /*我用python重构了一把这个代码大家的反应似乎是过度设计了好吧,我决定不那么激进,采用更中庸一些的重构我也有些疑惑:是否如果重构后的代码比重构前要多,就算过度了呢?*/void main(){ Queue queue = new Queue(); while(Message message=queue.Get()) { process(message); }}void process(Message message){ if(isAllowSend(message, setChargeFlag) == true) { set... 阅读全文

posted @ 2014-01-03 16:28 codestyle 阅读(249) 评论(0) 推荐(0)

记 tower.im 的一次重构

摘要: 原文in here:http://outofmemory.cn/wr?u=http%3A%2F%2Fblog.mycolorway.com%2F2013%2F05%2F01%2Ftower-refactor%2FTower.im上线已经快半年了,这半年来我们团队小步快跑,为 tower 增加了许多新的功能,使它渐渐完善起来,在这个过程中,tower 的代码量也逐渐增加,随着时间的流逝,系统中积淀的糟糕的代码渐渐增多,于是趁着节假日的到来,花了些时间对代码做了部分重构,在这里记录下来,和大家分享。我们知道,重构代码,目的是为了对内让代码变得更精简,提高阅读性和可维护性,而对外不改变旧有的功能,所 阅读全文

posted @ 2014-01-03 16:18 codestyle 阅读(767) 评论(1) 推荐(0)

编程规范之 if 语句的简单规则

摘要: 原文:http://www.oschina.net/translate/basic-rules-for-code-readability-and-the-if-statement代码应该是可阅读就像你的自然语言一样。我将从一个有趣的条件语句开始。if ( !notOk != false ) { userObj.ask();}这样的表达式有点混乱,你永远不会使用自然语言构建这样的表达式。通过几个步骤,这个问题可以很简单解决:( !notOk != false )( !notOk == true )( !notOk)现在你应该重新想一个变量名啦:isOk = !notOk这个结果更适合阅读:if. 阅读全文

posted @ 2014-01-03 15:29 codestyle 阅读(1034) 评论(0) 推荐(0)

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

摘要: 追求代码质量貌似是连载在IBM开发者社区的系列文章http://www.ibm.com/developerworks/cn/java/j-cq/专栏作者Andrew Glover是Stelligent Incorporated的总裁,这家公司用有效的开发人员测试策略和能够让团队在早期经常地监视代码质量的持续集成技术,帮助企业解决软件质量问题。他是Java Testing Patterns(Wiley,2004 年 9 月)一书的合著者。本文的原地址http://www.ibm.com/developerworks/cn/java/j-cq06306/index.html#N1007A我毫不惭愧 阅读全文

posted @ 2014-01-03 15:22 codestyle 阅读(318) 评论(0) 推荐(0)

2014年1月2日 #

通过调试的重构代码(设计是对的,但是实现过程却有诸多的问题)

摘要: #!/usr/bin/env pythonclass Processor: def __init__(self, processor): self.processor = processor def isAllowSend(self, message, setChargeFlag): passclass WhildListProcessor(Processor): def isAllowSend(self, message, setChargeFlag): print "WhildListProcessor.isAll... 阅读全文

posted @ 2014-01-02 16:32 codestyle 阅读(545) 评论(0) 推荐(0)

上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 50 下一页