技术宅,fat-man

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

导航

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

2014年1月2日 #

针对上一篇文章中的代码,想出的重构方案(python实现)

摘要: #!/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): if message.sender in (1,2): ... 阅读全文

posted @ 2014-01-02 13:09 codestyle 阅读(1166) 评论(0) 推荐(0)

2013年12月31日 #

一段代码,欢迎讨论

摘要: /*从朋友那看来的,因为他十分警惕的守护自己的代码所以下面的代码都是凭着我的记忆写下的伪代码,别问我这是什么语言,大致就是类C语言吧这是一个消息转发系统的一个子系统,这个系统通过转发消息收取费用子系统的功能是读取消息,判断能不能转发,并设置收费标志由别的子系统完成收费,转发的动作问题:这个程序需要重构吗?如果需要怎么重构?*/void main(){ Queue queue = new Queue(); while(Message message=queue.Get()) { process(message); }}void process(Message... 阅读全文

posted @ 2013-12-31 14:24 codestyle 阅读(790) 评论(1) 推荐(0)

2013年12月27日 #

重构后的程序:通过rsync命令抓取日志文件

摘要: push.sh#!/bin/bashfunction push(){ local ip=$1 local user=$2 local password=$3 local path=$4 local localPath=$5 local error=$6 :>$error export RSYNC_PASSWORD="$password" rsync -Cavz $user@$ip::$path $localPath > $error 2>&1 # 判断是否... 阅读全文

posted @ 2013-12-27 17:40 codestyle 阅读(729) 评论(0) 推荐(0)

重构前的程序:通过rsync命令抓取日志文件

摘要: 基本概况:我有一台服务器每天每个小时都会生成一个日志文件,这些日志文件会被保留2天,超过2天会被一个程序压缩放到备份目录,日志文件的文件名是有命名要求的,例如:project_log.20130101.01,project_log.20130101.02 意思即:2013年1月1日1点和2点生成的日志文件,他们被备份后的文件名是:project_log.20130101.01.gz,project_log.20130101.02.gz另外有一台服务器可从这台服务器上抓取文件,它即可以抓取昨天生成的尚未备份的日志,也可以抓取比较早的已经被备份的数据,还可以抓取当天已经生成了的日志文件#!/bin 阅读全文

posted @ 2013-12-27 17:35 codestyle 阅读(1189) 评论(0) 推荐(0)

标准输入、输出和错误和文件重定向

摘要: 标准输入、输出和错误当我们在shell中执行命令的时候,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名。下面就是这些文件描述符及它们通常所对应的文件名:文件文件描述符输入文件—标准输入0:它是命令的输入,缺省是键盘,也可以是文件或其他命令的输出。输出文件—标准输出1:它是命令的输出,缺省是屏幕,也可以是文件。错误输出文件—标准错误2:这是命令错误的输出,缺省是屏幕,同样也可以是文件。系统中实际上有1 2个文件描述符,但是正如我们在上表中所看到的, 0、1、2是标准输入、输出和错误。可以任意使用文件描述符3到9。标准 阅读全文

posted @ 2013-12-27 14:06 codestyle 阅读(1291) 评论(0) 推荐(0)

2013年12月26日 #

错误处理的思考

摘要: def catchLogByHour(..., errorHandler): while ....: if hasError: errorHandler(...) def error1(...): ....catchLogByHour(...,error1)def error2(...): ....catchLogByHour(...,error2)def error#(...): ....catchLogByHour(...,error2) 阅读全文

posted @ 2013-12-26 19:26 codestyle 阅读(164) 评论(0) 推荐(0)

2013年12月25日 #

测试和恢复性的争论:面向对象vs.函数式编程

摘要: Michael Feathers最近的博文在博客社区引发了一场异常激烈的论战。Feathers发表言论说一些面向对象编程语言的内嵌特性有助于测试的进行,并且使用面向对象编程语言编写的代码更容易恢复。他举了这样一个例子,class X有一个叫作badMethod的方法,这个方法处理一些“痛苦”的工作,比如调用并更新产品数据库、或者处理一些甚至关系到底层硬件的事务:public class X { public void method() { ... badMethod(); ... } ...}理想的设计是,系统可以允许独立测试一般的类和类组... 阅读全文

posted @ 2013-12-25 13:14 codestyle 阅读(408) 评论(0) 推荐(0)

2013年12月24日 #

哈佛经济学家关于工作效率的意外发现

摘要: http://www.aqee.net/a-harvard-economists-surprisingly-simple-productivity-secret/职业人士最常见的一种抱怨是:时间太少。每周工作超过60小时的人会抱怨甚至挤不出时间来处理他们邮箱里的邮件,更别说有创见性处理大项目中的问题。但时间并不是问题,哈佛经济学家Sendhil Mullainathan说。最终阻碍你成功的是你的大脑“带宽”使用效率,或集中精力的能力。Mullainathan的研究主要针对是资源稀缺情况,当人们缺少某些东西时会如何应对——可以是缺钱,食物或时间。他和他的搭档普林斯顿大学的心理学家Eldar Sh 阅读全文

posted @ 2013-12-24 15:30 codestyle 阅读(255) 评论(0) 推荐(0)

追求代码质量: 监视圈复杂度

摘要: http://www.ibm.com/developerworks/cn/java/j-cq03316/每位开发人员对代码质量的含义都有着自己的看法,并且大多数人对如何查找编写欠佳的代码也有自己的想法。甚至术语代码味道(code smell)也已进入大众词汇表,成为描述代码需要改进的一种方式。圈什么?关于这篇文章和代码质量主题的任何其他文章的问题,请访问由 Andrew Glover 主持的Improve your Java Code Quality讨论论坛。代码味道通常由开发人员直接判定,有趣的是,它是许多代码注释综合在一起的味道。一些人声称公正的代码注释是好事情,而另一些人声称代码注释只是 阅读全文

posted @ 2013-12-24 13:27 codestyle 阅读(773) 评论(0) 推荐(0)

天猫程序猿高端算法找妹子

摘要: 事情是这样的, 据来往的阿里小报公共账号爆料: 这是一个真实而又有些忧桑的故事,男主角是阿里巴巴西厂员工张侃。 他现在只想对姑娘说四个字: ——请-联-系-我!!! 此事见报后,阿里各界热心小二反响热烈,各路高人纷纷献言献策,想帮西厂职工张侃找到“她”。 这时,挺身而出了一位神人…… 妹子的情况比较复杂,一种可能是暂时来杭州旅游,常驻上海;一种是去上海旅游,常驻杭州; 一种是和我们的厂工相似,周末往上海跑。但是从妹子在车上的表现分析: A、如果是常坐动车的应该对温度情况有充分的了解,不会出现衣服不够导致冻着。 B、如果是从上海来杭州玩返程,会对车上温度也必然有所了解。 所以... 阅读全文

posted @ 2013-12-24 13:24 codestyle 阅读(223) 评论(0) 推荐(0)

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