一段代码,欢迎讨论
2013-12-31 14:24
302 查看
/* 从朋友那看来的,因为他十分警惕的守护自己的代码 所以下面的代码都是凭着我的记忆写下的伪代码, 别问我这是什么语言,大致就是类C语言吧 这是一个消息转发系统的一个子系统,这个系统通过转发消息收取费用 子系统的功能是读取消息,判断能不能转发,并设置收费标志 由别的子系统完成收费,转发的动作 问题:这个程序需要重构吗?如果需要怎么重构? */ void main() { Queue queue = new Queue(); while(Message message=queue.Get()) { process(message); } } void process(Message message) { if(isAllowSend(message) == true) { setSendFlag(message); } // 记录每一个进入系统的message信息 logMessage(message); } bool isAllowSend(Message message) { // 消息发送者在白名单中 if(message.sender in getWhileList()) { return true } // 消息发送者在黑名单中 if(message.sender in getBLackList()) { return false; } // 下面这许多if是判断什么的,我不记得了 if(...) { return true; } if(...) { return false; } // 设置收费标志 setChargeFlag(message); return true; } void setSendFlag(Message message) { // 下面这些if判断什么的,我也不记得了 if(...) { return; } if(...) { return; } message.allowSend = true; saveMessage(message); // 设置Message属性,保存它,由别的子系统进行发送 } void setChargeFlag(Message message) { message.isCharge = true; }
相关文章推荐
- JavaSE_util+其他核心类
- AspectJ的安装和Eclipse的AJDT插件的配置
- win7 64位系统下,vb6.0支持鼠标滚轮功能
- 关于-i++与-i--的问题
- golang精华资源
- Codeforce Good Bye 2013
- Ruby之入门学习
- Java学习笔记——抽象类
- Java取建MySQL表语句,乱码!
- 一个进程间同步和通讯的 C# 框架
- java百问
- Java精确测量代码运行时间 代码执行时间 纳秒 nanoTime
- C# 的三种序列化方法
- java.util.ResourceBundle使用详解
- shoelace源代码分析之disktab
- 学习PHP操作MySQL数据库的函数笔记
- VS2010调试时修改代码 调试时源文件与模块生成时的文件不同
- VS2010调试时修改代码 调试时源文件与模块生成时的文件不同
- Sencha touch itemtpl详解
- A practical guide to SSE SIMD with C++