code review 把国外的同事气到吐血

midsolo · 2025-11-5 11:31:09 · 9079 次点击

国外的同事来国内出差,趁着这个机会,邀请他跟我们一起进行 code review......

公司的代码没办法拿出来,只能临时写个伪代码让大家鉴赏一下:

/**
 * 代码鉴赏:执行 1 个任务
 */
public class JavaTasteSample {

    public static void main(String[] args) {

        // 国外同事:1 行代码就搞定,简洁明了
        // ==(浪费了大量的时间在做过度设计,毫无意义的炫技)==
        new Thread(() -> System.out.println("task1 running...")).start();

        // 国内同事:高内聚低耦合,把具体要执行的任务跟线程进行分离,方便扩展......
        // ==(这老外太 low 了,连设计模式都不懂,估计不会写代码)==
        new Thread(new Task(new TaskInnerSupport())).start();
    }

}

interface TaskInner {

    void execute();

}

abstract class AbstractTaskInner implements TaskInner {

    @Override
    public void execute() {
        runTask();
    }

    abstract void runTask();

}

class TaskInnerSupport extends AbstractTaskInner {

    @Override
    public void runTask() {
        System.out.println("task2 running...");
    }
    
}

class Task implements Runnable {

    private TaskInner inner;

    public Task(TaskInner taskInner) {
        inner = taskInner;
    }

    @Override
    public void run() {
        inner.execute();
    }

}
举报· 9079 次点击
登录 注册 站外分享
87 条回复  
mb4555 小成 2025-11-5 11:34:15
单看着一行代码 支持老外 你这个封装有没有在其他地方用到 用到了 另说
mb4555 小成 2025-11-5 11:35:06
@mb4555 也看你们的使用场景
midsolo 楼主 初学 2025-11-5 11:35:43
@mb4555 #1 没有用到,就是为了以后好扩展
erlking 小成 2025-11-5 11:37:42
支持老外
spike0100 小成 2025-11-5 11:38:31
我发现工作中至少 40%以上的预计扩展逻辑以后都不会用到。
lvtuyukuai 初学 2025-11-5 11:38:45
可以扩展的时候改写成第二种,每次新加功能重构已有代码方便扩展
visper 小成 2025-11-5 11:38:49
有时候,我更愿意去看一下写得很原始很差的复制多个地方的代码。而不是封装得十多差怎么也理不清关系的代码。虽然说为了扩展性。但是好像十年过去了也没有什么扩展。
LoNeZ 初学 2025-11-5 11:38:58
看场景..和重要程度...
sneezry 初学 2025-11-5 11:39:54
按照我们公司之前的 review 风格,会支持国内同事的设计。现在一直在强调开发速度和营业额,没人在乎设计模式。
返回顶部