“技术问题都是可以解决的,技术问题不是最最重要的”
最近帮过一些人解决技术问题,发现一个很严重的问题,他们的做法和我最开始写程序的时候是一样的,这样下去会走好多的弯路。现在有一类程序员太多,他们总是一味的追求“所谓的技术难点”,总是把心事放在一些边边角角的“程序代码”实现问题上,写程序就是为了完成功能,根本就不考虑什么重构/抽象/复用之类的问题,目标只有一个----完成任务。
程序代码是要学的,但是现在语言太多了,你能够每样语言的代码你都抠细节吗?代码总是灵活多变的,你根本就学不过来,应该把眼光放远点,考虑些代码以外的东西,例如设计模式/重构抽象复用/各种系统的设计需求分析/数据库的结构设计/单元测试/站点的结构设计......,如果作为一个单一的php程序员,最好找时间看看java周边的东西,php的周边技术实在是太少有人讲了。
就拿网站来说,其实网站设计的结构模式真的是很重要的,好的设计可以让你节省好多的时间,一个基本的企业宣传网站,写php程序和修改模板(不包括做页面模板),只要一天就可以完成,而且结构清晰,任何人都可以马上“上手”修改你的程序,你信吗?下面举个例子,给大家看看,然后再看看我的说法对不对。
以前发布过一篇文章叫“创造世界上最简单的------php开发模式”,不知道有人看过没,我们公司的网站“www.yeesoft.com”就是用这种结构作的,当时完成整个网站用了一个星期的时间(不包括制作模板)。
前天我们头让我把“http://www.chinacbc.org.cn/”先简单的做一下,实现一下基本功能,让客户先看着,他把网站的结构图发给我了,让我先作程序,第二天给我模板。于是决定用我们公司的网站改改。但是有些地方有些不同,例如会长和副会长,每个人要有一个自己的访谈栏目.........所以对后台程序先进行了修改,加入了几个功能:
1、重新设计了栏目数据表的结构。
2、文章添加的时候,根据栏目的设置,可以为某些栏目下的文章自动建立“文章的子栏目”
3、加入了事务管理机制,用来处理同时对几个表的添加修改删除。
4、模板解析的时候,解析“多栏”或“多列”表格的函数
完成这些修改和debug一共用了6--7个小时的时间。
昨天上午,模板发给我,为每个模板写了一个不到10行的程序,就是调用了一堆的函数,程序都是调用的函数接口来实现的,所以只要参数传得对了,就不会有问题,连调试程序的时间都不用,然后修改模板,也修改了模板里的一些样式。一共16个模板,用了4-5个小时就都完成了。然后打包发给老板。后来又提出几个地方的要添加功能,但是每次修改时间都没有超过2分钟,因为功能接口很简单都是公用的,直接传不同的参数调用就可以了。
整个网站的程序一共用了10--11个小时就轻松完成了,而且整个结构和思路都非常清晰,而且sql也是集中管理的,任何人都能看懂。反而,在后来加文章给文章排版什么的倒是用了好长的时间,但这个就是那几个“网站编辑”的问题了。也就是作在网站的整个的建设过程中,我作为一个普通的程序员,用的时间是最少的。
如果现在要在作同等程序的新网站的时候,那就更简单了,只要花修改模板的时间就够了。
byw,希望大家都支持opensource,不需要你公开整个项目,可以公开你的设计结构啊,核心代码啊,设计经验之类的东西,大家共同分享吗。