PHPer:让我们拥抱敏锐吧

PHP时代,远没有结束 关于PHP未来的忧虑由来已久,一边是掌控着把持系统的微软的.net平台,一边是红透半边天的Java技巧:PHP似乎已经走到了尽头。不过,当我们回 想过往,就会发明,PHP实在从来都是在别人视为穷途末路的空间里发展。ASP、JSP、CGI的时代,PHP的处境不比今天好过,压力也不比今天小, 而成果呢?PHP成为了三大主流Web脚本语言之一,并保持了强劲的发展势头。我们不得不感叹:本来没有至公司支撑,不要资本运营,阔别贸易炒作,也可以 做到这样的成功。我曾经将这种成功回结为一种重视实效的哲学:由简至繁,由浅进深的用户体验;学以致用,为用而学的学习动力;专注网络,精益求精的发展定 位。在应用PHP开发软件的过程中,这种哲学给我们带来了很多利益:我们总是用最简略、最直接的方法往完成任务,所以我们的设计总是简简略单,直到需求产 生了变更时,我们才会往改良相干的设计;我们总是从用户(功效)的角度来考虑事情,而不只是从程序员的角度往看标题;我们总是将我们的学习本钱保持在最 低,通过实际把持进行学习。应当说,PHP在第五个版本以前,不是一种严格的面向对象的语言,和Java和.net相比,PHP也明显的缺乏一些规范性的 东西。但是,出类拔萃的PHP开源项目在sf.net上不断出现;中小网站通过应用PHP很快地拥有了盼看拥有的功效,并逐渐利用PHP的扩大库和开源程 序包进行完善;大型门户开端应用PHP加快开发速度,为用户供给丰富而稳固的服务。这一切看起来是这样的不可思议,只适实用《编程之道》中的话来形 容:PHP is in the Tao。 那么,什么才是道呢 前一段时间,敏锐开发被炒得很热,很多关于敏锐开发的书籍被引进了中国市场。固然炒作不是什么好事情,但是敏锐开发却实在是一个好东西。不过当时我并没有 那种看着自己项目一步步走向崩溃的切肤之痛,所以并不是十分感冒,买来的几本书也随手翻翻便束之高阁。两年前,我认为一个好的程序就是可以准确运行;一年 前,我认为一个好的程序要能完成用户需要的功效,还要高效和简略易用;而前一段时间不堪回想的开发经历,则让我冥思苦想一个项目如何才干按时完成、开发者 之间怎样才干有效沟通、系统如何在频繁的需求变更下保留良好的结构。朋友建议我看看《敏锐软件开发》,于是我为此“浪费”掉了整整两周的时间。一些熟悉而 陌生的原则呈现在我的眼前,思考过的标题一个一个的得到了或多或少的解决;而一种轻量级的软件工程方法的轮廓越来越明显。忽然间感到,在敏锐开发中能看见 PHP的道几丝痕迹——是那种重视实效的哲学的smell,而敏锐开发显然更为系统化和具有更好的实际把持价值。

PHP5,变更的不只是语法 最近,PHP的第五个版本正式宣布了,关于PHP5的话题开端热起来,但是大家关注的比拟多的都是新增的语法或模块,而PHP5更重要的意义在于,它是 PHP正式进进企业级市场的标记。要进军企业级市场,一个必需要解决的标题是,应用一种什么样的工程方法来使大批的已经习惯于独自编写代码的PHP程序员 协作起来,并保持较高的工作效率。作为PHP程序员,我们也要利用这个机会,把自己从一个单纯会编码的coder晋升为一个懂得软件工程,能和团队有效沟 通和协作的开发者。而PHP最好的选择就是敏锐开发:把人当成软件开发的核心;保持设计的简略性;用测试驱动开发;用重构保持架构的硬朗;用面向对象的设 计原则和设计模式来领导设计,使软件保持机动,能适应需求的变动。有了敏锐开发作为领导,我们就可以应用PHP快速、高效、低本钱的完成强盛、稳固、能适 应需求变更的利用。——这个就叫做如虎添翼。这不是幻想,在一些开发者的推动下,已经逐步成为一个正在实现中的事实。PEAR中,已经为PHP5的开发者 准备好了一个用于单元测试的包:PHPUNIT2;越来越多的PHP开发者开端在自己的工作中或多或少的参加敏锐开发的要素;而支撑重构PHP的IDE信 任不久就会呈现。假如成功的话,这个打算将会有效的提高PHP开发社区的程度,帮助PHP程序员们写出更好更强的程序,从而有力的推动PHP在企业级市场 的步伐。

让我们来拥抱敏锐开发吧

是的,我认为作为一个PHP程序员,是需要懂得敏锐开发的——既然你选择了PHP,那么,你应当爱好敏锐开发。这里列出一些书籍和资源,供大家参考。 书:

《敏锐软件开发——原则、模式与实践》

《设计模式——可复用面向对象软件的基础》(这个未几说了,没看过也该听说过了)

《测试驱动开发》

PS一下,上边的书在网上都可以找到英文的电子版本下载,把DearBook的连接做上是为了方便大家下载中文样章。 网站:

phppatterns.com php和设计模式的讨论

lastcraft.com 单元测试工具***Test和phpunit相干先容

另外《PHP&MORE》Vol2 也会有PHPUNIT和设计模式的相干文章,敬请等待。(顺便做广告:P)

来源:PHPer:让我们拥抱敏锐吧 http://www.php1.cn/Content/PHPer-_RangWoMenYongBaoMinRuiBa.html

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-11-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏c#开发者

C# : row-clickable GridView and get and set gridview rows using JavaScript

Complete C# code: ---------------- using System; using System.ComponentModel; ...

3266
来自专栏跟着阿笨一起玩NET

C#巧用Excel模版变成把Table打印出来

转载:http://blog.csdn.net/gwblue/article/details/38865525

2012
来自专栏码匠的流水账

聊聊EurekaRibbonClientConfiguration

spring-cloud-netflix-eureka-client-2.0.0.RELEASE-sources.jar!/org/springframewor...

1911
来自专栏c#开发者

解决msmq接收远程主机私有队列消息的问题!

通过调用windows\system32\mqoa.dll 这个Message Queuing ActiveX Interface API函数就可以做到; 下面...

5507
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2980
来自专栏Pulsar-V

C#下各种获取时间的姿势

直接贴代码吧 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21...

3576
来自专栏吴伟祥

Java Calendar 类的时间操作 原

Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示。

1143
来自专栏积累沉淀

Hive2.0.0操作HBase 1.2.1报错解决

首先看错  org.apache.hive.service.cli.HiveSQLException: Failed to open new session: ...

2639
来自专栏张善友的专栏

Using sqlite with .NET

The other day I found that there is a .NET wrapper for sqlite. sqlite is a very ...

2688
来自专栏闻道于事

商城项目整理(三)JDBC增删改查

商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: 1 create table TEST.GOODS_TABL...

6175

扫码关注云+社区