最近开发完成了一个服务于企业真实业务流程的网站应用项目,简单记录一下。
一、项目概述
主题:利润绩效管理系统
环境:Python3.7+Django2.2+postgresql
耗时:60/人天
行数:共计八万余行,其中后端逻辑处理代码约七千行。(统计方式:git bash下:wc -l 文件名)
系统功能:业务数据管理、绩效考核自动化、可视化报表展示、用户管理、权限组、用户操作日志、数据库备份、开放数据接口、微信登录。
二、感悟
1. 客户改需求很痛苦
前期一定要和甲方进行充分调研、明确每个需求,以尽可能减少开发过程中的需求改动;同时提高代码的维护性,以应对可能的需求改动,这样也便于后期维护和迭代。不清楚的地方及时和甲方或者产品经理沟通,以免在歪路上越走越远。
2. 要熟练使用git版本管理
团队的项目开发必然会用到版本管理工具,会用git很重要!
3. 变量命名
个人认为变量的命令要满足的优先级:符合实际意义>英文单词>简短。一个团队开发里要是遇到int a,b,c的队友,分分钟一口老血喷死他!也最好不要出现中文或者拼音。
4. 注释
自己写的代码隔了两天都不一定能一眼看出来是用来干嘛的,更别说别人的代码了,一定要养成写注释的好习惯!不用每句都写,至少保证一个功能块必须要有相关注释。
5. 考虑周到
每一行代码写下去的时候都要在脑子里过一下这行代码是不是百分百可运行,有没有可能在某种条件下会出错,不要等到出bug了再回过头debug,注意会导致效率很低!用户是不会完全按照你以为的情况进行输入。最简单的例子,你想让他输入数字,他却偏偏输个字母,这样的话四则运算肯定会出问题,所以在接收输入的时候就要对其进行充分考虑,使程序包含所有可能性。同时要学会善用异常处理,这会大大降低出bug的概率,但也不能滥用异常处理。
6. 功能封装
针对可复用的功能代码将其单独放在一个工具文件夹中,比如分页、筛选、导入导出等,这样既简洁明了又提高了可维护性。
7. 测试
测试很重要!这是一项系统性的工作,个人认为最好是边开发边有专门人员进行测试,不要等到全部做完了再去做测试,毕竟越早发现问题修复成本就越小。