谈谈在编程过程当中的工程化思惟

任何计算机语言都是工具,都是用来解决问题。全部的现代编程语言都有相同之处,基本类型值(string number boolean......),引用类型值(数组,对象,函数,类),语句(if,switch,while,do while......),甚至有的内置函数名都是差很少的,不一样的地方是其基本语法,然而基本语法就是那么几样。
好比js和php声明函数的方式差很少,都是经过function关键字来声明函数,不过php在类中有访问控制关键字(public pravite protected ),java在类中就不须要function关键字,规定必须返回一种类型值,若是不返回值,则有void关键字:public void int_number(){
//逻辑代码
}
public int int_number(){
//逻辑代码
return 520;//返回的整型值
}
js的内置数组函数(方法),pop,push,unshift,shift,reverse,filter,均可以在php中找到,功能类似语法不一样。
什么叫工程化思惟,不局限一门计算机语言(你能用的工具能够有不少),掌握计算机语言的相同之处,不一样之处(语法),就能够在各类编程语言之间游刃有余,现代编程语言解决问题的思路差很少,处理字符串,处理数组,循环,模块化,解决任何问题都逃不出这几样,工程化的思惟能够用在任何现代编程语言上。在编程时,线性思惟是最不推荐的风格,处理一些小项目还能够,由于这些小项目能够依靠一我的完成,能够想到哪写到哪,而且不会出错。而大型项目中代码量是没法预估的,若是是面向过程,出了bug,或是某行代码的改善或是功能的添加,每每要改一大片,工做量无疑是增大了许多倍。
工程化的思惟能够在项目起手的阶段大体构建出整个框架,而后逐步的去添加功能。
好比写一个页面,这些页面都是由各类不一样的控件组成的,js能够这样写:
(function(){
function Page1(a,b,c){
this.controller_1=function(){
//逻辑代码
return this;
};
this.controller_2=function(){
//逻辑代码
return this;
};
this.controller_3=function(){
//逻辑代码
return this;
};
}
return new Page1(a,b,c)//传入按钮,div。
})().controller_1().controller_2().controller_3();
这样就能够随意的添加功能,一步步把这个页面搭建出来。你要搭建的对象固然也能够是虚拟的,好比一个处理数据的php的类:
class Data{
static function fetch_data(){
//逻辑代码
return "/result/";
}
static function handling_data(){
$result_data=self::function fetch_data();
//逻辑代码
return "/result/";
}
function output_data(){
$output_data=self::handling_data();
//逻辑代码
echo "/result/";
}
}
$newObj=new Data();
$newObj->output_data();
这样就能够一步步搭建处理数据的虚拟对象。工程化的思惟能够快速的解决问题,从面到点,而不是从点到线。php

相关文章
相关标签/搜索