语言与工具,并论VC编程 (来自深空老大)

由于工作的性质,我可能有不小的比例采用VC编程(ctrl+c/ctrl+v),从一个系统设计上来讲,可能这样做会大大降低代码的可维护性,不过我觉得这种说法还是要建立在所处的特定业务环境,如一个论坛产品的开发,或者一个博客产品的开发,或者你必须优化提供高扩展性等。而我现在所处的环境,是一个用户需求瞬息万变的环境,我没有足够的时间思考我当前写的代码是否合理,可能我刚写完不久,这段代码就已作废。
因此我在想,采用何种方式架构你的系统,需要将你的上下文环境纳入考虑范围,以寻求最合适的解决方案,最能达到目标,最省时间。也就是我所提的观点之一: 系统设计应该以目标为导向。如一个DEMO、可能真的不需要去考虑代码有多优雅,它需要快速的实现,尽快让用户看到一个非抽象的东西,以这个目标来讲,你所要的就是能有多快就有多块。那么我会在我以前实现过的代码中拷贝我需要的片段,加点东西组合在一起迅速做出来。或者我干脆都不用MVC,直接eaho出想要的页面。事实告诉我,我为此节省了大量的时间,去做那些需要比较花心思设计的地方,比如系统框架、系统库等,和学各种各样的不同的工具。
几年前,如果别人问我是做什么的,我可能会说我是做PHP开发的,如果今天你问我做什么的,我其实难以回答,我是做PHP开发的吗?没错,我用得比较多的是PHP,甚至后台脚本也使用PHP编写,但是我可能会在某些特定需求上,将一些功能转到数据库、或者转到前端让Javascript,或者以后我可能会用C去处理那些需要用到C的东西。这是我想要提的第二个观点: 在合适的情况下,使用合适的工具,构建合适的应用系统。我确实比较喜欢PHP,因为其简单。但是,如果参考第一条,以目标为导向的话,有时候一个实现采用PHP并不一定合适,你可能会很执著的说PHP也能做到,不错,它可能可以做到,但是你要花比较高的代价。抛开语言来看系统设计,你就会发现这些系统的零部件需要各种不同特性的工具来打造,你需要选择适合这个特性的工具,它可能是PHP,也可能是存储过程,可能是后台运算,也可能是前端处理,你要做的就是把握好是用什么工具最方便最能达到目的。要达到这个目标,你还要做的就是,充分认识各种工具的优缺点,他们的适用场景,或者甚至你需要扩展你的工具箱,让你有更多的选择的余地,那么这些都是需要花不少时间的。
有些人说开发到一定阶段很迷茫,那么我可能会问你,你的工具箱里有多少东西,你用的称手的有多少?我想这样你该不会迷茫了吧。学习语言我想不仅仅只是为了语言本身,各种不同的语言技巧,各种不同的实现方式,我觉得这些都没有太大必要,如果你把目标建立在构建一个适合某种应用场景的系统的时候,抛开语言的时候,很多困惑都会迎刃而解。用户才不会管你采用什么方式去实现,只要能用,用得满意就OK了,你要做的只是, 站在用户的角度,聆听用户的需求,拓展用户的潜在需求,扮演用户的角色,在最快的时间内给出用户真正想要的东西,我想就是成功的应用系统开发和设计。
那么回答VC编程是否可行,他只是我实现目标的其中一种手段罢了。

你可能感兴趣的:(语言与工具,并论VC编程 (来自深空老大))