1. Code refactoring involves changing the internal structure of code to improve its understandability and maintainability without changing its external behavior.
2. Refactoring techniques include extracting methods, inline methods, managing temporary variables, simplifying conditionals, and moving features between objects.
3. Refactoring should be done regularly in small steps to avoid bugs, improve readability and design, and facilitate future changes, but it is important to avoid over-refactoring or refactoring close to deadlines.