软件开发中的一个重要问题是代码维护成本的。原因之一是匆忙行动或者纯粹疏忽导致的代码混乱。软件开发中的主要任务是让软件可以工作,可以通过在编码之前编写测试代码来应对这个挑战。其次,您的工作要保证代码干净的。可以通过两种机制来实现:
1.保证在系统中没有重复的代码。
2.保证代码是干净的,并且富有表现力,可以清晰地体现程序员的意图。
贯穿敏捷java的进程,您将经常停下来反思刚刚写下的代码。任何不符合这两条简单的准则的代码 都需要立刻重新处理,或者重构。即使设计非常完美,糟糕的代码实现同样会给修改它带来非常头痛的体验。
在前进的时候,越是持续雕琢改进您的代码,您遇到的需要付出高昂代价才能解决代码错误的可能性就越小。原则是永远不能让代码比开始时的状况要差。
a. 第一步要清除不必要的局部变量:
b.代码中到处嵌入字符串被视为不良的编程习惯。一个原因是,如果每个字符串所代表的意义不清晰的话,将很难理解这样的代码。(注:消除冗余的方法【代码中增加一点表现力】是用字符串常量来代替一个字符串。)
final String firstStudentName = "Jane Doe";
Student student = new Student(firstrStudentName);
assertEquals(firstStudentName, student.getName());
开发循环是:
1.编写一个小的测试,来断言某些功能正确与否。
2.运行测试,如果结果是失败。
3.编写代码,使测试通过。
4.重构测试和代码,清除重复的概念,确保代码富于表现力。
这样的循环,会很快成为一个根深蒂固、自然的开发流程。
成员变量私有化的一个好处在于可以强制加强面向对象和封装的观念;一个面向对象的系统更关注行为,而不是数据。您应该通过发消息来获取数据,也应该封装实现细节。