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