左耳听风-ARTS-第6周(2019/05/05-2019/05/11)

Algorithm

本周的算法题简单,实现一个二分法查找。

public int searchInsert(int[] nums, int target) {
        if (nums.length == 0) {
            return 0;
        }

        int start = 0;
        int end = nums.length - 1;

        while (start <= end) {
            int i = (start + end) >>> 1;
            if (nums[i] > target) {
                end = i - 1;
            } else if (nums[i] < target) {
                start = i + 1;
            } else {
                return i;
            }
        }

        return start;
    } 

Reading

Automate Your Coding Standard(https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/thing_04/)

本文讨论的是自动化编码规范。在新项目刚开始时,大家士气满满,讨论了许多编码规范并落在纸面上,大家也表示要遵从。当真正开始写项目时,项目刚开始时高涨的士气就会一点一点消失,讨论好的编码规范不会遵从,等项目交付时,发现代码一团糟。

那么从什么时候开始出的问题?也许从项目启动会议上,并不是所有人注重编码规范,也可能有的人根本不同意这份编码规范,心里觉得要按自己的规范来,也有有的人当时同意,但随着项目压力逐渐加大,顾不上了这份编码规范了。

既然不遵从,那么我们为什么要花时间讨论并文档化编码规范。以为从长远角度来看,从项目组角度来看,大家遵循一份编码规范好处多多。那怎么解决这个问题,作者提出要自动化编码规范,利用一些列丰富的工具,自动化并强制化编码规范。

  • 在每次编译、构建代码时自动格式化代码
  • 用静态代码分析工具扫描代码
  • 使用一些工具来扫描代码,识别出反模式的代码

并不是所有的事情都可以自动化完成,不能自动化的编码规范只能落成文档,期望自己和同事一起遵守了。

Tip

Share

Spring框架简介(https://www.cnblogs.com/minguo/p/10848516.html

原文地址:https://www.cnblogs.com/minguo/p/10848513.html