志在指尖
用双手敲打未来

教你编写不可维护的 PHP 代码

随着失业率越来越高,很多人意识到保全自己的作业是多么的重要。那么,什么是保住自己作业,并让自己无可替代的好办法呢?一个很简单的事实是只要你的代码没有人能够保护,那么你就成功保住了作业。编写不行保护的代码是一个特殊的技术,但奇怪的是,好像对某些开发者来说是很自然的。不过关于剩余的开发者来说,这里有一些技巧和提示来让你开端写不行保护的代码。
首先要做的事情
第一步,从找作业开端。你应该寻找适宜的公司,在那里你能够尽情发挥并完成你那不行保护的潜力。你不一定需求成为公司的PHP大牛假如是那更好。找作业时,假如作业描述提到需求从其它的迁移到PHP(所以你知道你会做主),或者也能够查找那种需求10年PHP5作业经历的误导性作业,再加上熟练运用FrontPage和NetscapeComposer。
一旦你取得这种千载难逢的时机,从第一天开端就要采纳办法。在会议上讲话,让你的定见被听到。大胆谈论面向对象的架构规划,企业,改革方案,怎样让够好变得更好,当然你也得做出相应的许诺。确保每个人在重要的编码环节都咨询你的定见。
不行保护的核心
创意来源于优异的文章“Writingunmaintainablecode”(想要保住作业的人一定会看的),以下是你需求把握和精通的两个重要概念:
你应该让他人无法轻易地修正任何东西,除非他损坏别的一些东西。
保护人员没有时刻去了解你的代码。可保护的代码意味着能够在堆积如山的代码中快速定位到特定的部分,能够快速了解它是怎么作业的并且在不损坏一些东西的状况下进行修正。你不能这样做。不能让他人能轻易地查找到某些东西或者在他们等待的地方找到。
你的代码不能“看起来”不行保护(由于他人会怀疑的),它必须“是”不行保护。
代码在保护人员看起来应该是正常的,但要在他们最意想不到的时分给他们一个惊喜。网站建造
最佳实践
制止代码约好。关于编码和命名约好的对骂无穷无尽。这样的状况绝不能在你优异的组织中出现。你有牛逼的项目要做,你不行能花上很多的时刻来谈论用tab仍是仍是空格。再说了,约好便是限制。假如一个新人入职,并且他不习惯你的约好,他会很苦楚。不快乐的程序员是没有功率的程序员。谁问你你就向他们说明。让每个人都用他们自己喜爱的风格写代码。至于你自己的代码-变换你的约好。周一用camelCase小驼峰命名,周二用all_lowercase全小写命名,周五混合着用,在每个2月29日运用匈牙利命名法。
不写注释。你的代码很美丽,它不需求注释。假如有人不了解你的代码,那么很有或许他们不是那么好的程序员。假如,有这个或许的话,你被逼迫要求写注释,那么直接夸大的写。详细描述最明显和最不重要的代码,跳过其它的。
运用记事本编码。或者运用其他没有代码缩进展现的编辑器。使得其他人忍耐苦楚最终离开团队。这样你就不用总是听他们的抱怨了。假如有人问你为什么运用记事本,准备好说明:由于它来自于Windows(当今唯一一个,为赋有创造性的程序员准备的操作系统),无需任何必要的训练,也不需求花费任何代价。我相信你能在网上找到你能够运用任何程序的参考文献,甚至包含Word,来编写你的网页代码,可是只要记事本才是真正的威望,毕竟,你们公司雇佣的人只要你才是威望。
拒绝单元测验。向任何质疑你的人说明,你是被雇佣过来编写高质量并且没有漏洞的代码的(因而,无需测验)。为什么会有头脑正常的人会花时刻来写无关紧要的测验来证实代码能否正常运转?有些事情在生活中就像-天空是蓝色的,太阳从东方升起,你的代码是能够正常运转的,因而十分感谢。持续(就像谈论相同,假如被逼接受测验,那么准备好测验那些清楚明了的内容然后跳过其他的部分)
不运用模板引擎。模板引擎能够帮助你区别事务逻辑层与展现层。它能够保证代码的可保护性所以你不能恪守这个规则。PHP之父RasmusLerdorf说过:“PHP便是模板引擎”。即便你无可奈何运用模板引擎,也要找到对应的办法滥用它,例如放一些事务代码在模板中,或者是小心的将HTML(和CSS和JavaScript)代码混合在数据库访问层中。
一般来说,尽或许在同一行代码中的将你的PHP,HTML,CSS和JavaScript代码理直气壮地混合在一起。在PHP代码中创立JavaScript和带内联样式的HTML代码。假如他人问到,告诉他们这种模式叫做“封装”,你会对你的代码负全部责任。
版别操控。虽然这很难避免,可是使自己摆脱任何方法或版别操控很值得尝试。你能够在谈论的时分向我们证明这样做提高了团队成员之间的沟通,而不是去依靠冷血的版别操控软件。假如你没有说服任何人,请不要绝望。你提交的时分能够不commitall。在本地保存一些自己的代码。这样假如你以外的人试图构建和布置的话,这些小而丧命的代码片段将会损坏这个项目。假如被抓了,就辩说明这些代码还不适宜展现,毕竟,你提交了能够教育初级团队的高质量的代码和优异的解决方案。这些小男孩和小女子将会仰望着你并充溢等待!
构建一个结构。然后你不行避免地成为架构师,你的威望毋庸置疑。这样你就能够添加一些隐秘约好(当然其中大多数有时是自相矛盾的),即便是最有经历的保护人员也发觉不出。你的结构将负责所有的事情,不需求任何人费心肠去了解它,我们会很高兴由于你一个人让开发变得更简单并且提高了整个公司的产能。不要以开源的方法发布你的结构,由于a)这个结构是公司的财物并且公司投入了人大量的资金,b)开源社区会嘲笑你,并且这将成为你故弄玄虚的结局。
命名相关
你的变量名应该起的奥秘一些,最好只要一个字母。这样谁都无法经过简单的查找找到需求的内容。
类名和办法最好也运用一个字母来定义。假如你确实想定义一个正常点的名字,那就一向运用它吧——记住,隐藏信息的最好办法便是频频的运用它。当重复运用相同名称(称为“面向对象的编程”)时,假如将圆括号和花括号放在新的一行,这将有助于提高代码的可读性,并且让队友在你的代码中寻找任何东西时,都得重温一下正则表达式。考虑一下吧:
$noodles=1;
class
noodles
{
var$noodles=2;
function
noodles()
{
$noodles[‘noodles’]=’noodles’;
}
}
function
noodles(){
returnnewnoodles;
}
$noodles=noodles();
var_dump($noodles);
你也能够运用奇特的字符集来命名变量。西里尔字母就十分适宜,由于有些字母看起来跟罗马字母相同,但其实不是(所有这些:xopekacMEBCTAKXOPH)。那么下面的输出是:
$alert=1;
$аlert=2;
echo$alert;
假如第二个alert以西里尔字母”a”最初,则不行以!
引证相关
即便你十分正常的定义来一些东西,但并不意味着你不能以风趣的方法来运用它。首要的兵器有:
eval()
可变变量
可变类,比方$strudels=”noodles”;$noo=new$strudels;
call_user_func()
//callingabc();
$z=’A’;
call_user_func($z.’bC’);
大写
字母比如,函数办法名不区别大小写,滥用这个特色。
functionabc(){
echo”abc”;}AbC();
另一方面,数组的健(key)对大小写灵敏,也滥用这个特色。
$a[‘UseConvetionsOnlyTobreakThem’]=1;if(isset($a[‘UseConvetionsOnlyToBreakThem’])){
//??大写B!!1!}
重写
在不期望的状况下重写全局变量,尤其是超全局变量。尽早重写$_GET数组中的属性,多次重写,$_POST亦是如此。在$_REQUEST上做一些不起眼的重写作为点缀。假如是在WTF-ed上,你能够说明是在防止用户输入的XSS攻击、注入攻击以及其他的病毒攻击。
操控结构
运用、混合、匹配所有备选的if,while,for,foreach,switch语法。假如被问起来,所有的这些,请说明说你正在训练新员工学习真正的言语。
if($a>5):
if($a>4){
while($a>0):
echo–$a;
endwhile;
}endif;
嵌套三元运算符,没有比这个更好、更简练的代码了。
//猜猜这里输出什么echotrue?’true’:false?’t’:’f’;
在for的循环体内,再次添加$i以坚持所有人的留意。或者,经过不运用$i来完成循环增量的惊喜。从不。
嵌套循环、深化,然后突然跳出它们(循环)。像break2和break3这样的代码存粹是为了文娱,尤其是当混合了奇怪的缩进代码时。
这是一个开端!
这便是今天的全部。我期望你相信你自己也能做到,你也能够编写不行保护的代码。现在你的未来就在你的手中!当然,你也能够编写可读性比较高的代码,可是冒着被替代的危险。
Practicemakesperfect.

未经允许不得转载:IT技术网站 » 教你编写不可维护的 PHP 代码
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载