1.分块
一个项目很大,分块是非常必要的。
按不同的角色分bundle(第三方的也应该单独出一个bundle来),不同角色的不同功能分controller,一个controller对应一个view的文件夹,一个controller对应一个路由表。
2.分层
代码统统写在一起没有层次结构,难以理解和维护。
1.有个baseController写一些最基本的功能,大家都用。
2.每个实体都有repostory,封装一些常用的对于该实体的操作。(实体的绝大数个字段,都写上注释,数据库是比较底层的东西,影响很大)
3.比较独立的部分坚决写成服务,方便你我他。
3.模块的独立性
高内聚,低耦合。不同角色之间坚决独立开来,各个bundle之间坚决独立出来,不惜多写一些代码,多引用几次外部文件。即:几个角色几个入口,几个index,几个bundle,不要在出现if是那个角色怎么办。
4.代码与数据分离
外联的js、css、图片都必须在bundle的内部(这样虽然有些麻烦),web下面全都是用户数据。如此一来,同步代码什么的只需将src文件夹拿来即可,也不会出现本地和服务器上面的数据不一致的问题。
5.一些统一的规定
如 前端datagrid的filed、form表单的name、和数据库的字段名字保持一致,就不会有各种转化。(因此数据库字段的名字很重要,一定要简明易懂)
如 按钮的样式,toolbar的内边距等做统一的规定,就不会大家写出来的样式风格各异了。
关于js的部分也是一样的,要有些公用的类和文件