首页 > 代码库 > 项目总结

项目总结

我的跟进项目已经告一段落,需要进行总结

刚开始连tp框架都不会,现在已经能写基本规范的tp框架程序,这是个进步。

刚开始,只会读一些简单的代码,现在已经可以快速追代码,这也是个提升,这多亏小周的指点,他的一些瞬间习惯都是对我很大的提示和启发。

例如

1、用ajax获取数据,异步获取,这样用户体验比较好,是的,如果让用户等你的白板,不如来个异步获取,先给一部分,然后再给另一部分。

2、应用js模板引擎,这真是个好东西,如果没有他,我真是要写好多js+html掺杂内容,一方面不好度,另一方面复用也不好用。有了模板,我更能复用的多次,甚至可以吧它作为循环的一部分,代码看前来清晰很多。

3、运用继承,构造函数,可以使代码复用,简洁很多。例如,可以将每次都要执行的代码父类的构造函数中,BaseController的构造函数中,每个控制器都继承他,这样在调用每个控制器时都会执行这段代码,例如登录的代码可以放在这里。

4、分组,可以分后台、前台,后台有后台的完整代码,前台有前台的完整代码,这个完整代码指的是有控制器,model,view,按照业务分。也可以按照数据端和视图端,数据端,负责所有的数据的获取,不管前台还是后台,试图端,负责所有的表现。这时,数据端主要是控制器和model,而视图端主要是是控制器和view,这样代码也比较清晰。这样貌似通用性更好,因为现在前台不光电脑了,手机端,pad端,都要请求数据,这样把获取数据归为一处,这样请求的代码是一致的,这样岂不更好,这也要多亏小周的代码,真好。

5、控制器只负责接受请求,寻找制定model获取数据,指定view显示数据,或者是返回数据,让获取数据统一交给model来完成,这样你会发现到后来,能服用代码很多,因为这个请求可能需要这些数据,那个请求可能也需要这个数据,这样就可以调用同一个方法获取数据。

6、建立起一个概念,面向接口的概念,就是,我写的东西,不止能在我一个地方用,在很多地方都可以使用。视野要打,例如我的跟进的备注,在一开始如果我意识到要在订单系统中也要用,如果我开始就把它建立成一个借口的概念,那么在后期别人用的时候,会方便很多。其实我觉得接口就是小周经常提到了的“大局观”,要站在一个很高的高度往下看,要考虑全面的需求,那些功能相似的,就可以考虑做成接口,什么是接口?我觉得接口就是接受不同的数据,做相同的处理,得出不同的结果。要找不同中的相同点。实际就是一种抽象。

7、对于一个功能不断壮大的系统,一个好的数据模型是很关键的,好的数据模型,能经的起客户功能的不断扩充而自身不变,即使变了,也是自身在不断的扩充,而不会自己彻底垮掉。那么什么样的的模型是好的数据模型呢?现在知道一种:对象的数据模型,对象是对现实的一个很好的描述,他有自身的额属性和方法,世间万物不是也是的吗,人再怎么变,它都是人,都有人的属性,所以今后模型最好考虑对象的数据模型,好理解,好扩充。我要好好理解tp框架的数据模型,每种类充当什么角色。精准把握角色,这样写出的代码扩充性更好。

8、表的设计非常重要,表设计不好,会影响后期的修改,而且一旦设计表的修改,即使是小的功能,也将是大量的修改,因为你的左右的数据都是基于已经固定结构的表,表的微小变动,将会影响代码的巨大变动。称表是地基,一点都不为过。

设计表1、所有的需求都要考虑到,即使是非常微小的需求,以为有的需要很不起眼,可能就是一个几个字,但实现它可能需要增添一张表,由此推出,有的需求不明朗,我们也要深入了解,明白需求,在确定表,防止在后期改动

2、时间字段,要用varchar、或者bigint类型。存时间戳,这样方便检索。

3、明白一个概念,尽量符合三段式,但是符合三段式的不一定是最好的数据库,一点冗余都没有就是好的数据库结构吗?有时以空间换时间也是一个很好的选择。但如果把握呢?

9、js做成对象的形式,这样的好处是,即使我们的代码是一样的,但是如果我不加载,js函数,我也是用不了的这个js,大家各取所需,相当于将js代码又细分了,分成一个个功能模块,谁想用哪个功能模块,加载一下就行了,复用起来非常方便。小赵的做法是一个js,按页面划分,这个页面加载这个js函数,哪个页面加载哪个js函数,这样也可以,他就好像把很多独立的js放在一个文档里面。

 

随后要仔细看:

1.小周的后台系统中登录验证的代码是放在哪里的?

2、BaseController中还放哪一类的程序?

3、多表查询Union的用法,当涉及多张表的链接查询,小周怎么处理?

4、如果来划分控制器?我的跟进系统怎么就一个控制器。

5、控制器的职责只干什么?问下小周

6.那个display,小周是怎么改写的,怎么传个0,就显示本来面目,不写就调用总的模板?这是怎么做到的,怎么把它改进下,他和小赵的继承有什么区别?

7、如何建立索引

8、熟悉无限极的列表展示,背也要背下来。

9.备注框架能不能用表的形式展现?如何做?

10、熟悉tp模板中的volist if  present  switch等的用法。

 

项目总结