PHP程序员的自我修炼:PHP编程风格

编程|程序|程序员

在很多情况下PHP最可贵的特点也可能是它最薄弱的环节就是它的语法松散性。 PHP能够如此广泛的被使用,因为它使得许多没有经验的Web开发者能够制作出强大的应用程序,而用不着过多的考虑规划、连贯性和文档。
  不幸的是,正是以上的特点,是的很多的PHP源代码很臃肿,很难阅读甚至无法维护。我深深的体会到这一点,因为我已经写了很多这样的代码。;-)
  为了避免上面的情况以及很多其他的情况发生。很多的核心PHP开发人员和团体成员走到了一起,开始了PEAR,一个着力于增加PHP扩展和插件仓库的项目。到现在未知,来源于PEAR项目的文档和其他的东西还很少并且难以理解,这篇文章试图向开发者们讲述他们(PEAR小组)所做的事情。
  决定代码可维护性的重要因素是代码的格式和注释。一个工程的所有代码应该以贯穿始终的形式组织。我非常坚持代码库的建设,我想程序员们也应如此。
  (1)缩进
  开发者所有的代码应该完全按照缩进的方式书写。这是提高代码可读性最基本的措施。即使你没有注释你的代码,缩进对于让其他人读懂你的代码也是非常大的帮助。
  例如下面的例子:
  while ($x < $z) {
  if ($a == 1) {
  echo 'A was equal to 1';
  } else {
  if ($b == 2) {
  //do something
  } else {
  //do something else
  }
  }
  }
  PEAR草案标准要求利用4个空格缩进而不是利用tab。我个人并不同意这个观点,我想我仍然会继续利用tab键。我认为使用tab比多个空格能够让文件变得更小。而更小的文件能够更快的被解释、上载、下载等等。而使用tab还有一个很大的有点,就是当观看其他人的代码时,你能够自己设置tab键的空格数。我通常使用8个空格长度的tab键设置,但是最近换成了4个空格长度的,呵呵,我把他称为代码的成重新格式化,仅仅是个人的爱好啦。
  (2)控制结构
  这个很大程度上取决于个人口味。我仍然可以看到很多的控制结构代码不带分支语句造成可读性非常差,如果你使用IF语句时不带分支,不但可读性变差,当其他人修改你的程序时,还会造成很多的bug。请看下例:
  不好的例子:
  if ($a == 1) echo 'A was equal to 1';
  这是非常难以辨认的。它能够正常工作,但是除了你之外,别人根本不会赞赏这句代码。
  有改进的例子:
  if ($a == 1)
  echo 'A was equal to 1';
  现在至少这句代码可以读懂了,但是仍然没有很好的可维护性。如果当$a==1的时候我希望一个附加的事件发生,或者需要添加分支呢?如果后来的程序员忘记了添加大括弧或者else关键字,那么程序中将出现bug。
  完美的例子
  if (($a == 1) && ($b==2)) {
  echo 'A was equal to 1';
  //很容易的可以添加其他代码
  } elseif (($a == 1) && ($b==3)) {
  //其他操作
  }
  请注意在if和elseif后面的空格,这会将本语句和函数调用区分开来,此外,虽然在elseif的执行程序段中没有语句,只有注释,表面上显得多余可是却给以后维护程序的程序员给予了非常方便的提示,并且非常利于添加功能。

时间: 2024-10-28 16:30:33

PHP程序员的自我修炼:PHP编程风格的相关文章

很认真的聊一聊程序员的自我修养

今天谈一谈,程序员提高自我修养是为了什么?     程序写的好有人崇拜,有妹子喜欢?还是到博客.论坛.社区发表文章进行分享获得成就?我想这是少数人的追求,也是更高的追求,在这之前 我认为,在中国,程序员提高自我修养的目的,是为了 1.更好的融入工作,减少困难,增加成就 2.稳步的提升能力,提高收入,达成财务自由 2.站在更高的层面看待自己的学习和工作,树立更加适合的人生观价值观,家庭幸福,生活愉快 说的更通俗一点,就是用更加合理的方式和方法,赚取到更多的收入   说了这么多废话,进入正题 何为程

程序员的自我修养(2)——计算机网络(转) good

相关文章:程序员的自我修养--操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量的系列文章链接,以方便大家随时参考学习.相信通过本文的学习,你能对计算机网络有全面的认识! 在阅读本文之前,建议阅读以下两遍文章,以便对"计算机网络是如何工作"的有个大概的了解. 互联网协议入门(一) 互联网协议入门(二) 接下来,我们介绍一些基础网络知识. OSI参考模型 一上来就是OS

《程序员的思维修炼》笔记

 转载请注明出处:http://blog.csdn.net/zbf8441372 程序猿除了关注技术,架构,设计,也需要多读读心理学的书,锻炼思维的书.这想法也是在读了刘伟鹏的<暗时间>之后进一步得到了强化.所以我才会买<暗时间><程序员修炼之道><程序员的思维修炼>,<少有人走的路>,<影响力>这样的书籍. 在读<程序员的思维修炼>的时候,一些比较有意思的认识使我很感兴趣,而这本书的副标题是"开发认知潜能的九堂

编程报错-初级程序员 正在学习老黑莓编程,有几个问题请教

问题描述 初级程序员 正在学习老黑莓编程,有几个问题请教 我是照着黑莓开发入门到精通那本教程书,编的,但是到后来一些页面,编的代码,老是报错,下载的JDE是7.1的,是不是跟教程比是新的,教程里6才刚出来,咋办

string-java中 String类问题&amp;amp;lt;初级程序员的自我修远&amp;amp;gt;

问题描述 java中 String类问题<初级程序员的自我修远> 刚学习java语言 我看String中源码写的 private final char[] c; 为什么在自己的类中这样写就会报未初始化的错误 解决方案 private final char[] c = new char[长度]; 解决方案二: final char[] c这样写的话,c就不能再指向别的引用,但是你又没给人家初始值,编辑器自然不干了. 解决方案三: 有final属性,要有构造器,并且初始化该属性 public cl

世界最年轻苹果程序员:六岁开始编程

世界最年轻苹果程序员:六岁开始编程林心美现正在一台iMac G3上学习简单的图形编程新浪科技讯 北京时间9月15日上午消息,美国科技博客网站CultofMac日前发起了一项名为"Me and My Mac"的读者征文活动,旨在让广大读者讲述他们与苹果设备之间的故事.截至目前,第一轮征文活动已经结束,一个名叫林心美(音译)的小女孩引起了该网站的注意,她应该是世界上年纪最小的苹果程序员.林心美今年只有6岁,目前正在学习如何使用Applesoft语言编程.她曾经给一台Apple IIGS编过

[转] 每个程序员都必须遵守的编程原则

  http://www.cocoachina.com/gamedev/misc/2014/0410/8135.html       好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系.下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强.缺陷更少的程序.   我不要自我重复 - 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码.我们很多的编程结构之所以存在,就

PHP程序员必须遵循的PHP编程准则

  怎样才能成为一个优秀的PHP开发者?这肯定是每一位PHP新手都在提出的问题.其实要成为一名PHP编程高手并不容易,真正的PHP高手还需要考虑更多的其它问题.那么如何才能更快的成为一名优秀的PHP开发者呢?跟随绿茶小编一起来看看吧! 以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则: ◆懒惰是金 ◆编写漂亮的代码 ◆追求程序的速度,而不是编程的速度 懒惰是金         对于一个程序员来说,懒惰的方法有两种: 其一,大胆使用现成的别人的程序代码,把这些代码融入到你自己的程序或

微服务——程序员的自我修养

微服务在2016年成为仅次于物联网和认知计算的第三热门技术,微服务究竟有何等神通,让ThoughtWorks.Netflix.Amazon.Uber等公司趋之若鹜? 传统应用之殇 版本发布·千年等一回 在过去传统企业应用开发模式下,每当遇到需求要修改时,不得不按照大颗粒系统发布版本,瀑布式的版本计划困住了程序员那优雅的双手. 应用升级·祝你平安 应用无法做到永远在线,大版本升级时,不得不停机中断服务.一个小小的问题就有可能带来整个系统的崩溃. 技术选型·独角戏 技术实现单一,需要想办法用一种技术