log下一次改别人的代码

  有次接到个PM要改版一个功能的UI设计,前端童鞋还没敲定页面的时候,我先看了看这个功能的后台,我擦...简直是惨不忍睹。。对PM来说是改版UI,对我这么有点代码洁癖的来说就是优化代码。

  首先我能肯定的是,原来这个童鞋对面向对象理解的不太好。。其次对代码的整合不够...我就简单log下。。

  先说面向对象理解的问题,在一个入口方法里,去调用该类自己的私有方法,这里传参的时候竟然把类属性的值都传过去了。。当时我就汗了,,显然在被调用的方法里,直接就可以获取这些类属性的值了。。为什么还要去传呢...

  再有我说整合能力,这个入口方法是这样做的,取前端传过来的key,通过这个key值的不同,去调用类里的各个不同的方法,而且原来他自己都已经把各个方法名取的和key的值一样了。然而惨不忍睹的是,如果说几个switch的case,这么写不会让人觉得啥。。重点是这个key的值将近有20个...这再这么写下去代码就太糟糕了。。显而易见的是这几十行代码可以看出来是可以用相同代码的。正好php有个函数叫call_user_func(),可以派上用场。比如这样call_user_func(array($this, $_GET[‘key‘]));让实例去调用它的key名字的方法。这里有个小问题,比如原来代码里面有的几个不同key,但走了相同的方法。

这时,可以这样构造一个魔术方法__call(),然后在这个魔术方法里,把这几个特殊key构建成个数组,如果$_GET[‘key‘]在这里头的,就共同去调用这个方法。

  仔细看,类里面还有很多值得优化的地方。其实一个类被设计的不该过于臃肿,一个类只需要负责好它自己的事就好了。这里的优化,我就抽取出来几个方法新建了一个类。

  顺便我觉得改别人的代码很有意思,发现不合自己意就开始喷哈哈~

时间: 2024-11-06 22:36:11

log下一次改别人的代码的相关文章

Git Fork别人的代码后如同步别人的代码

在git上fork别人的代码后,如果别人代码有更新,自己fork的代码是不能自动更新的.需要手动操作. git remote -v 查看是否有远程分支的别名.例如:git remote -v 后显示如下,只有自己fork的路径.需要手动添加. origin https://github.com/bill1208/incubator-carbondata (fetch)origin https://github.com/bill1208/incubator-carbondata (push) gi

当年写的俄罗斯方块(现在更喜欢研究别人的代码)

这个东西大概是4年多前写的,那时写代码很疯狂,不知疲惫,一写就是好几万行.现在则更喜欢研究别人的代码,有时也写些测试代码,或者研究开源的东西.希望真正有些积累后, 再考虑写自己的东西. 感觉当时大的框架做的还行,源代码或许对新手有用. 源代码下载:sourceCode 上几个截图 单人游戏: 人机对战: 设置: posted on 2012-05-03 23:00 http://www.cppblog.com/weiym/archive/2012/05/03/173616.html http:/

接手别人的代码,死的心有吗?

团队里的程序员张三丰要离职,领导让你接手他的工作,叮嘱你一定要尽快掌握张三丰的代码.你的心儿扑通扑通地跳动,你的脑海里萦绕着三个选择:是拒绝呢,还是拒绝呢,还是拒绝呢?你强颜欢笑但实际上心烦意乱怨气纵横--接手别人的代码,那可是程序员要面对的最痛苦最可怕的事啊. 你记起江湖前辈黄药师说过的一句话:如果你恨他,就让他去接手别人的代码. 你的内心是拒绝的,可是你却不由自主地说出了"可以啊"三个字,于是你悲催的旅程拉开了序幕. 这,就是程序员的工作啊~~~~你有什么办法--你特别担心自己会被

如何通过阅读别人的代码提高自己的编程能力

代码阅读的必要性 阅读别人的代码作为研发人员是一件经常要做的事情.一个是学习新的编程语言的时候通过阅读别人的代码是个最佳的学习方法,另外是积累编程经验.如果你有机 会阅读一些操作系统的代码会帮助你理解一些基本的原理.更有就是在你作为一个质量确保人员或一个小领导的时候如果你要做白盒测试的时候没有阅读代码的能力 是不能完成相应的任务.最后一个就是如果你中途接手一个项目的时候或给一个项目做售后服务的时候是要有阅读代码的能力的. 收集所有可能收集的材料阅 读代码要做的第一件事情是收集所有和项目相关的资料

自学C语言第二课——选择编译器并开始分析别人的代码

听说现在我在大学大学的同学普遍用的编译器是VC6.0,为了方便向他们请教,于是我刚开始决定选择VC6.0来学习.可是安装的过程出现种种问题,我又不想用绿色版,所以最后选择了安装极为方便的DEV-C++.我想要从分析别人的代码开始学起.同学向我推荐了一本书.然后,我就开始分析书里面的代码. 例题1: 通过百度和看我在大学的同学给我的资料,我认识到: 1.关于<stdio.h> stdio.h就是指“standardinput&output" 意思就是说标准输入输出头文件! 所以

如何读别人的代码

p { margin-bottom: 0.25cm; direction: ltr; line-height: 115%; text-align: justify; orphans: 0; widows: 0 } p.western { font-family: "Calibri", serif; font-size: 10pt } p.cjk { font-family: "宋体"; font-size: 10pt } p.ctl { font-family: ;

如何阅读修改别人的代码?

如何阅读别人的代码? 读代码的时间总是比写代码的时间更长 维护升级老代码或者同事突然离职交接, 读代码是必不可少的过程. 不夸张的说,可能没有人觉的读代码比写代码轻松. 但这又是工作中不得不面对的场景. 如果已有代码可以运行,那便跑起来看看 看看需求,知道这段代码干了什么事情,如果能够理解业务就更好了 看看数据库表结构.结合需求 一定会有数据,运行时候的数据对比数据库的数据更容易理解逻辑 看看已有的设计文档.更业务逻辑对应 根据功能分类一个一个的读代码吧 如何在已有基础上进行再次开发? 再次开发

如何阅读别人的代码

############################################## """ 阅读什么样的代码? 很难明确的说应该阅读什么样的代码,只能说有一些基本的原则: 1,阅读那些你用得着的代码 这一步最好从阅读那些你已经在使用的插件或者库文件开始. 这些都是你可以学习的非常好的例子.你已熟悉了它们的公共API,了解它们内部工作原理的障碍是较低的.此外,作为代码的用户,你有机会添加文档.实现新的功能,或者通常以某种方式给项目做贡献. 2,阅读那些你印象深刻的代码

聊聊成为大神路上的过程(决定伟大水平和一般水平的关键因素,既不是天赋,也不是经验,而是[刻意练习]的程度,要多看别人的代码)

每个人都在成为大神的路上,只不过有的人在走,而有的人在跑. 写在前面的话 在开始正文之前我先跟大家分享一个我身边的例子.我有两个朋友,A和B.B从高一开始打dota,A从高二开始,到高中毕业的时候,A已经是一个 2100分的大神级别的人物,而B只有1200分而已.为什么A打的时间比B短,而水平却比B高呢?是天赋?是智商?似乎都不是. 我对两个人还是比较了解的,虽然同样是打dota,但是A和B之间有着很大差别的.A除了像B一样打dota之外,会看一些成名已久的大神的教学视 频,会看自己打dota的