国外的同事来国内出差,趁着这个机会,邀请他跟我们一起进行 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();
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.