1. 技术储备:
在时间有限的情况下,每个项目使用合理的、不能过多的、不能过于艰难的新技术。并做总结,以供以后使用。
2.多客户端时不要自动刷新:
如果自动刷新,当多个刷新同时进行时,用户界面会暂时死掉。但可以实时变更,如对增删改的同步变化。
3.程序锁定时,要对界面进行模糊化处理:
防止泄密。
4.能够用框架做的,就不要在模块做:
提高性能、减少错误。
5.数据库设计时,每个表加上最后更新时间字段
1)可以做历史记录; 2)可用于更新,在更新时只读取上次读取之后的数据。
6.数据库操作可以全部做成事务
代码不真接使用SQL文,而是调用事务。
7.项目经理要对项目内的全部内容内容管理
A成员,真接与上级进行沟通,工作内容也是由上级部署的,但是在项目内,如不进行管理,会出现不可测问题。
8.程序界面上的时间控件,要明确范围
如时间段[0:00~24:00].
9.文档中的各标题序号要补0
如bugfree的模块,001.框架。
10.新技术的使用过程:
僵化->固化->熟练->灵活
11.sql server 使用sql语句时,默认情况下不区分大小定
用户名、密码的判断等,要注意方式,
1) 修改数据库使其区分大小写
2) 得到字符串自己判断
12.技术牛人:
技术牛人可以成为技术的顶梁柱,但最好不要让其成为产品的顶梁柱,把技术牛人放在骨干位置用,
而不是做为产品项目经理用通常比较合适。必须培养技术牛人接班人,这是未雨绸缪表现,无论你
怎么做技术牛人均有可能在某个时间点离开团队。
13.群组通话请说“over”
未说“over”前所有人不要退出通话,避免无法完整传达信息。
14.业务中对数据的取舍,作成共同函数
如对金钱保留四位,进行四舍五入。如果以后修改业务规则只改这个函数就可。
15.数据库中的Datatime类型与C#中的Datatime的精度是不一至的:
数据库中可以用Datatime2
16.在设计时考虑断网、掉电等外部原因对每一功能、各功能之间的影响;
17.对开发过程中使用的各种资源进行管理
如,程序需要r.ico文件,开发人员有photoshop制作了r.png文件,又用converico把r.png转为r.ico,
我们需要把photoshop和converico记录进开发环境,对r.ico和r.png进行配制管理并记录来源;
18.解决bug时,添写相关信息
原因:代码错误
解决方案:将检查检验去掉
影响范围:复制病例的对话框的类型list
19.界面不要放在需求中
界面是设计的一部分
20.会产生异常的地方
除法、new、文件操作、网络操作、数据库操作、串口;
21.代码复查
提高代码质量,保证程序员正确的理解了需求。
22.尽量不要使用递归
递归会有层数限制
23.尽量不要使用lamda表达式
测试时,在VC2008下无法进行跟踪调试
24.开发时要进行单元测试
百分之百覆盖率,边界值。
25. 要有一个文件发布列表,安装程序生成后,要对各文件进行测试。
创建发布用的测试用例,应包含所有的功能点的测试,每个功能点只要有一个测试用例即可。
26.NVI机制要求的:将虚函数声明为非公有,而将公有函数都声明为非虚——虚拟和公有选其一。
27.一个良好的设计应该在编译期强制表现出大部分constraints(约束条件、规范)。
28.加密狗要与程序的版本对应,便于不同的版本的收费。
29.开发环境的安装要有详细的记载。
30.界面设计时,应考虑数据显示不全时的对应方法。
31.界面设计时,所有输入都应限制长度。
如:字符串的长度、tab的个数、列表的条数、数字的最大最小值、时间的上下限等等。