以下是做项目时遇到的一些小问题,好记性不如烂笔头,记录一下,提醒你我他。
1、程序规范性
1) 程序里涉及的配置信息(例如模型参数、数据库配置信息,服务器ip等)
最好单独写在一个统一的配置文件里,例如:setting.py, config.ini之类的
;如果是java程序,要注意把配置文件放在jar包外,方便修改。
2) 不得删除数据库里的表或者数据!!!!
任何数据都是很珍贵的,推荐insert或者update数据,如果没有特殊需求,一定不能删除数据或者改的表结构,replace也不行。
3) 功能要模块化;模块命名要规范化,利于理解,不推荐采用中文缩写的方式。例如文本生成功能模块,推荐命名为textGen,不推荐命名为WBSC
4) 程序或服务都应该设置自启动 (开机自启动;定时自启动)
5) logs! 良好的日志记录有助于快速定位错误和了解程序的运行情况。
2、程序容错性
1)在对python程序进行docker打包时,docker内要安装vim
等编辑器,方便修改docker内的小错误,然后更新镜像(docker commit)
2)程序要能容纳一下常见错误:
数据表不存在(create table if not exits)
某个字段为空(先判段某个字段是否为空,为空则采用默认值)
输入数据格式不正确(try...catch的运用)
数据库连接不上(采用时间间隔累加的方式去多次链接数据库)
词语不在训练的词向量里(用同义词或随机向量替代)
3、数据库配置
1) 数据库的表名、列名最好规范命名,统一大小写,且不得用中文进行命名;
2)“索引有助于提高查询速度”; 当查询语句比较复杂,数据量比较大时,对相应的字段建立索引将会大大提高检索速度
被项目逼疯的小垃圾将不定时随机更新上面的内容。