TY - SER AU - Wilhelm, Georg [and other] TI - Lessons learned: Refactoring as a means in the redesign of an OO knowledge engineering system KW - COMPUTER AIDED DESIGN KW - ENGINEERING KW - CAD KW - EXPERT SYSTEMS KW - OBJECT ORIENTED PROGRAMMING N1 - The benefits of applying refactoring techniques lies in preserving the existing functionality and reducing the entropy of the system by extending it in small steps. Carefully executed refactoring twists the law that entropy always increases. On the other hand, refactoring benefits do not come for free. Refactoring specifically implies that it must be done one step at a time. Tests should be executed after each step ER -