快速业务通道

40个迹象表明你还是PHP菜鸟

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完成全部功能的开发。代码整洁可用(clean code that works)是测试驱动开发所追求的目标。(摘自百度百科)
9. 不在错误开启状态下进行编码和测试(译注:参考PHP函数error_reporting)
Conquer 9
我想一般写代码的时候都会开启错误报告吧。这里顺便了解下error_reporting原型为int error_reporting([ int $level]),该函数的作用是设置要显示报告的错误等级,详情参阅:
http://cn2.php.net/manual/en/function.error-reporting.php
10. 对调试器的好处视而不见
Conquer 10
推荐几款调试器:
(1)Zend IDE
(2)APD
(3)Xdebug
11. 不重构你的代码
Conquer 11
重构是指使用一系列重构准则(手法),在不改变“软件之可察行为”前提下,调整其结构,是对软件内部结构的一种调整。目的是在不改变“软件之可察行为”前提下,提高其可理解性,降低其修改成本。重构的好处能改进软件设计使软件更容易被理解,帮助设计者找到BUG,并且提高软件的开发速度。简而言之,重构就是改进已经写好的软件的设计。
12. 不使用类似MVC模式把程序的不同层次划分开
Conquer 12
MVC(Model View Controller)即模型—视图—控制器,视图是呈现给用户的一面,模型则是处理任务的模块,而控制器则是控制视图和模型间的映射,即在用户响应下选择何种模型进行处理,而任务处理后控制以何种视图呈现。
13. 不知道这些概念:KISS、DRY、MVC、OOP、REST
Conquer 13
(1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。
(2)DRY是指Don''t Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。
(3)OOP即Object-Oriented Programming,是指面向对象的程序设计。我一直觉得经典的比喻是汽车是一个类(Class),而这个类的属性有轮子、车身、马达等,方法有加速、减速等;而劳斯莱斯就是一个对象(Object)了,这个对象继承了汽车这个类的属性和方法;而如何实现加速、减速?这样的信息被隐藏了——即信息封装(封装),只留下用户接口给我们了,比如踩刹车、踩油门;至于多态嘛,我粗糙比喻下就是一台自动贩卖机(我们假设它每种价格只有一款饮料),同样是投币这种方法,但是你投进去2元跟5元得到的结果是不一样的——当然,除非这贩卖机有问题。
(4)REST(Representational State Transfer)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST提出了一些设计概念和准则:
a. 网络上的所有事物都被抽象为资源(resource);
b. 每个资源对应一个唯一的资源标识(resource identifier);
c. 通过通用的连接器接口(generic connector interface)对资源进行操作;
d. 对资源的各种操作不会改变资源标识;
e. 所有的操作都是无状态(stateless)。(摘自百度百科)
14. 不用return而是直接在你的函数或类中输出(echo/print)内容
Conquer 14
这一点,观摩大虾的源代码都是用return的,所以我一般也这么学习使用这,至于原因,我就是觉得这样用感觉蛮好的。或许是严禁风格吧。但是其实我对这句有点不理解,函数一般都是需要返回语句的嘛,除非是专门用来输出的函数。
15. 对单元测试或通用测试的优点视而不见
Conquer 15
(1)单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,不仅能保证项目进度还能优化设计。我记得我以前在写比较长的C代码的时候都会在特定模块结束时补一段测试代

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号