zoukankan      html  css  js  c++  java
  • 代码自省(周一)

    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.当示例数据与我的数据不一致时,应检查计算公式(核心代码)的正确性。
  • 相关阅读:
    十分钟学会Java8:lambda表达式和Stream API
    史上最全的Spring Boot Cache使用与整合
    史上最全的Spring Boot Starter开发手册
    深入理解JAVA虚拟机(内存模型+GC算法+JVM调优)
    深入理解Mybatis技术与原理
    c++入门之命名空间存在的意义
    机器学习第一篇——最近邻kNN
    Python学习第十八篇——低耦合函数设计思想
    Python学习第十六篇——异常处理
    Python学习第十五篇——类继承和类实例化
  • 原文地址:https://www.cnblogs.com/daemonFlY/p/9820435.html
Copyright © 2011-2022 走看看