正式开始实习是大二的上学期11月份到3月份
做的工作是益米后台管理平台的优惠券接口开发和管理功能,后期还帮助解决平台的遗留bug,优化异步搜索等功能
主要学习的经验
一、代码命名规范
后台 (Thinkphp):
1.分层
Controler (逻辑操作)
Service (表独立操作)(Thinphp没有这一层,自行添加,php文件需要写成 Xxxx.class.php )
Model (表) (不能用M函数,D函数再考虑)
Common(共同函数和Define)
经过百度建立Service的目的类似于使用D方法
D和M的区别主要在于:
M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现,而D方法必须有创建模型类。
通俗点说:
D就是实例化一个基于Model文件的Model。
M则是通过直接实例化Model方法(ThinkPHP基类)来动态的实例化一个Model对象,即使这个对应的Model文件不存在
2.php文件名命名
php文件,名字开头大写,驼峰
类文件,需要 写成 Xxxx.class.php
UserService.class.php
3.前端文件
html,css,js,images文件 开头小写,驼峰。
feedbackDetail.html
4.函数命名
驼峰,开头小写
5.php,js变量命名
开头小写,驼峰
$mgrSvr
mgrSvr
6.html id 等名字,下划线隔开
user_name
二、接口:
1.需要数据库字段设计好,避免流量增加(前提)
2.写好单元测试(必须)
3.接口文档(适当维护,最关键是单元测试)
单元测试的使用是学会了,但都是主管部署好的,之后试过自己部署phpUnit不过失败了,只有也有其他事要做,只够再继续,还有一个就是使用jenkins,这也是接下来想使用的,可以保证代码的质量。
三、数据库:
1.表格命名
表名yimi_express_xxxx
前缀 模块 具体
2.字段名:简练
不要加前缀,如已经是yimi_express_order表
但不要再在字段里面加 order前缀。
如 order_name 应该 改成 name
3.字段名:不能过长
太长是应考虑缩写
4.索引
where地方,应当考虑加适当索引,慢sql
如status,type之类的
5.数据库
表comment
字段 comment应当加上 状态值
对用户类型0:未回复,1:已回复, 对于客服类型消息:是否发送成功 0:发送失败,1:发送成功
6.更改数据库
必须写sql文件,提交svn
四、学会了打log帮助调试代码
五、使用阿里云
在主管的威逼利诱下,我租了个阿里云服务器,然后学习使用,到写这篇博文的时候我已经基本学会使用阿里云的服务器了,也部署了简单的web服务环境,这个在下一篇在详述。
六、总结
我认为在益米的这段时间,主要学习得其实远远超过上面的,虽然不是大公司,但是由于资历尚浅,感觉有机会能学习正规的开发流程还是挺不错的体验。