PHPer:让我们拥抱敏捷吧
nbsp
net
php
php5
phpunit
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,那么,你应该喜欢敏捷开发。这里列出一些书籍和资源,供大家参考。
书:
- 《敏捷软件开发——原则、模式与实践》(Uncle Bob的大作,网上有英文电子书)
- 《重构——改善既有代码的设计》(侯捷的站上开放了中文版的1~6章)
- 《设计模式——可复用面向对象软件的基础》(这个不多说了,没看过也该听说过了)
- 《测试驱动开发》
PS一下,上边的书在网上都可以找到英文的电子版本下载,把DearBook的连接做上是为了方便大家下载中文样章。
网站:
- phppatterns.com php和设计模式的讨论
- lastcraft.com 单元测试工具simpleTest和phpunit相关介绍
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
2 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写
