我发现C程序很少超越其初始设计.问题是,很难重构C程序.如
cpp
struct S { int a; };
struct S s; s.a = 3;
struct S *p; p->a = 3;
即.用来直接访问,->用来间接访问.假设想把按值传递S改为按指针传递S.现在你必须更新每个使用,而不仅是声明.
这是它在D中的工作方式:
cpp
struct S { int a; }
S s; s.a = 3;
S* p; p.a = 3;
ref S q; q.a = 3;
因此,更易重构,因此重构频率也更高.