在使用 Eclipse 中你经常会遇到的一个尴尬是, 你打开一个 Maven 项目, 因为要加载依赖, 再加上特殊国情造成的网络访问缓慢, 那好吧, 那就等吧, 然后在等待的过程中, 你很可能会暂时转到其它已经打开好的项目. 这很正常, 不是吗? 何必干等呢?
然而, 当你编辑了另外一个项目的某个文件, 正准备保存时, Eclipse 却给你弹一个框, 阻止了你的保存!
请看上面的第三条"Waiting User Operation", 那就是我的保存动作, 然而它却被前面的 Maven 项目的构建动作给阻拦了!
碰到这这种情况你是否会觉得特别沮丧呢? 毕竟这两项目间毫无关系呀!
如果我编辑的是同一个项目的文件, 被阻拦还能说得过去, 可为啥不同的项目也被阻拦了呢?
所以我认为这是一个缺陷, 项目之间应该做到隔离, 彼此不应该影响, 这在我们的开发活动中同样是极为重要的一个原则!
在这里, 一个项目的保存动作对另一个项目的构建动作形成了错误的依赖, 不管开发者有什么理由, 从用户角度看, 这种依赖是不应该的, 是他所不能预期的.
开发者应该尽力减少这种违反直觉的依赖, 如果不能做到这一点, 将会带来非常糟糕的用户体验!
就好比你再浏览器里打开了多个标签页, 然后有一个标签页失去了响应, 然后你发现所有的标签页都卡住了!
又或者你打开了很多的程序, 然后一个程序失去了响应, 然后整个电脑都死机了!