黑箱转向(一):软件工程从来不是完全的白箱传统软件工程追求可理解性,却从未要求一个人理解全部系统。本文从结构化编程、信息隐藏、版本控制和大型系统协作出发,区分源码可见、局部可解释、全局可预测与系统可控制,重新界定所谓“白箱假设”。