(1)使用泛型和不使用泛型的编程差异:使用泛型可以在很大程度上扩展程序适用的数据类型,减少编写程序的工作量和函数数量。不使用泛型则不用担心调用方法时数据类型转换问题,但函数复杂繁多,编写工作量大
(2)在给出ADT的规约后就开始编写测试用例的优势:只通过规约了解参数和返回值编写测试文件可以不用过多的顾虑方法中设置的条件,能更容易地检查出方法实现中出现的错误。这种做法是一种很好的设置防火墙的方法,刚开始可能不太适应,但必须强迫自己去适应,这对我们以后编程很有帮助
(3)为ADT撰写specification, invariants, RI, AF,时刻注意ADT是否有rep exposure的意义:这些工作是为了让代码更容易被理解,让编程实现方法有一个思路和限制,以及保护rep信息防止其在客户端中泄露,造成不必要的错误。