代码自省(周一)

9月24日,周一

    平时敲代码过程过程中经常有着眼高手低的情况,在没有读懂需求的情况下急忙着先敲一堆代码再返工,极大地浪费了宝贵的时间。
例子:
假设需要建立一个数值表,用来显示在不同利率下投资$10,000会增长多少,利息每年兑现,而且又被用于投资。
表 不同利率下的投资增长情况
10% 11% 12% 13% 14% 15%
10 000.00 10 000.00 10 000.00 10 000.00 10 000.00 10 000.00

最初的想法是通过建立一个二维数组,通过操作下标x,y计算利率公式
result[x][y] = result[0][y] * result[x - 1][0] + result[x - 1][0];
当代码写到一半的时候,发现忽略了很多细节,比如:
1.没有考虑数值类型,不假思索的用了int;
2.过早的考虑事务(一些输入输出信息)的完善,而把业务的实现放在了第二位;
3.注释过少;
4.最不应该犯的错误是把所有的语句写在main()中;
5.输出信息不够直观,可读性差;
6.没有读懂业务需求,便写代码;

9月25日,周二
后期反省:
1.由我的代码生成的数据与示例数据不一致,核心计算公式错误,修改公式如下:
result[x][y] = result[0][y] * result[x - 1][y] + result[x - 1][y];
2.涉及金额的数据类型,改用为double;
3.将事务简单封装到方法中,等完善核心代码之后再做处理:
//初始化表格
obj.initTable();
//计算
obj.calculate();
//输出表头
obj.printTableOne();
//输出表格
obj.printTable();
4.表明注释(中英文都可,但要一眼看懂);
5.输出信息在事务方法中,通过printf()标准化输出数据格式:
输出表头:System.out.printf("%9.0f%%",result[0][i] * 100);
输出数据:System.out.printf("%10.2f",result[i][j]);
6.当示例数据与我的数据不一致时,应检查计算公式(核心代码)的正确性。
原文地址:https://www.cnblogs.com/daemonFlY/p/9820435.html