Fundamental Knowledge
Object-Oriented Programming
- Encapsulation
- Composition, inheritance, and delegation
- Polymorphism
- Objects and classes
- Open recursion
Source: Wikipedia
Code Refactoring
- Target
- Production Code
- Test Code
- Between Production and Test Code
- Techniques
- More Abstraction
- Breaking Code Apart
- Improving Names and Location
Source: Wikipedia
Design Pattern
Here are most frequenly-used patterns as specified by Kerem Koseoglu in his book ABAP to the Future.
Essential Knowledge
Writing Unit Test
Design Principles
Test Double