谈PHP——(1)人文方面

这篇文字很难写。我可以写得很长,但可能写得很乱,而且也没有足够的时间。只好把自己的想法提纲挈领地写下来。其中的相关表述均为个人看法、一家之言,并不一定完全适用于他人。

* PHP是编程语言中的令狐冲

PHP功能强大、可用于多个方面、程序写法自由飘逸。

功能强大,是指PHP拥有超多内置函数和扩展函数(通过安装像GD库这样的扩展来扩充函数数量)。

可用于多个方面,是指作为web编程语言,PHP可以作为CGI脚本语言(类似C、perl等)或动态服务器端脚本语言(类似ASP、JSP等)。另外,PHP还可以像bash等一样作shell脚本语言用。PHP还可以用于图形应用(这方面我从来没测试过)。

程序写法自由飘逸,是指PHP兼容多种其他语言的编程习惯和书写方式,例如,PHP有多种注释代码的手段(但和ASP、Visual Basic等代码注释方式有差异)。另外,PHP既具有(较)全面的面向对象编程语言(例如Java)的特点,又可以按照传统的过程式语言(procedural programming languages,例如C)的方式来书写。

就拿数组处理举例。和绝大多数编程语言相比,PHP也许拥有最丰富的数组处理函数。浏览一遍这些数组函数,你就发现PHP的数组处理函数简直就是程序员手中的瑞士军刀,尤其是把这些数组函数和其他一些PHP函数(例如create_function函数等)结合起来使用的时候。细节我就不举例了。

因为PHP程序写法高度兼容其他语言(主要指Java、C等)的编程习惯,因此使得其他语言的程序员学习PHP的门槛大大降低。

另外,PHP是老少咸宜的一种编程语言:新手可以很快上手,但老手可以写得更飘逸。

* PHP程序员的基本修养

此处套用周星驰的《演员的基本修养》名字,觉得比较有趣而已。

也许还有很多其他关于编程修养、技术修养的要求,我只谈我最关心的几点。

英语

如果只谈PHP的话,那么我们就要鼓励崇洋媚外,坚持学习英语、使用英语。

我可以武断地下一个结论:一个不懂英文的程序员不是一个好程序员,一个不学好英文的程序员不是最好的程序员之一。这个论断至少对PHP程序员适用。

当然,学好英文不容易。对于一个程序员而言,听说读写这四项,只要能读就行了,而且只要能读懂技术文章就行了,别的三个方面可以暂时忽略。

尽信书则不如无书

在书店买或者翻阅好些技术书是一个好习惯,但要记住的两点是:1. 你没有那么多的时间去认真读那么多的书;2. 大部分技术书的大部分内容都是废话。

要逐步养成简洁的编程习惯

我有个大学校友(相关网站),做形象设计的。他强调要做“简洁的”整体品牌形象设计。这个观点我觉得很好。

我觉得,简洁(清晰)就是力量。在开发中,卖弄编程技巧没有太多意义。越简洁的产品,才是越是体现编程技巧的产品。这方面最典型的例子之一就是google的众多web产品了。

举个简单的例子,在PHP中把一个全部由字符串组成的数组给大写化了。至少可以有2种写法:

foreach ($arr as $key => $val) { $arr[$key] = strtoupper($val); }

array_walk($arr, create_function('&$val', '$val = strtoupper($val);'));

我认为从思路上来讲,后者比前者简洁,应该是更好的一种书写习惯。

效率问题

要养成不写垃圾程序的习惯。我觉得任何时候都要注意效率问题,这是程序员的素质要求,是一种习惯、一种修养。

PHP可以说非常强大,例如在文件读写方面,有多种文件读写手段,使用起来可谓超级方便。但越方便的时候越容易被滥用,也出现问题。

举例而言,就下面这2种文件写入的写法(实现了同样的目的)而言,

for (...;...;...) { file_put_contents($filename, $data); }

for (...;...;...) { $data .= $str; }
file_put_contents($filename, $data);

我觉得后者明显比前者更友好些,因为后者明显减少了文件(或文件流)读写次数(也就减少了硬盘读写次数)。

[补充说明1] 本文举的例子不是最佳例子。

标签:

类别:

评论

举的例子真的不咋的。

添加新评论

友情提醒:您的言论自由在本站会得到充分保证;不过,由于广告留言等猖獗,因此本站的内容过滤系统有可能会暂时屏蔽您新发的留言或评论。不便之处,希望理解。