A talk in which a software developer may learn how to possibly modify code in a way that makes it simple and readable and maintainable and not overly verbose or unnecessarily complicated but still has the same functional attributes of the old code, which is a good thing.
Mike Sherov
Sr. Person who is a Principal in Engineering
Text
A talk in which a software developer may learn how to possibly modify code in a way that makes it simple and readable and maintainable and not overly verbose or unnecessarily complicated but still has the same functional attributes of the old code, which is a good thing.
Mike Sherov
Sr. Person who is a Principal in Engineering
Part of the CoreUX Team @ Skillshare
how to possibly improve modify code in a way that makes it simple and readable and maintainable and not overly verbose or unnecessarily complicated but still has keep the same functional attributes of the old code.
Mike Sherov
Principal in Engineering
CoreUX Team @ Skillshare
how to possibly improve the design of existing code but keep the same functional attributes of the old code.
Mike Sherov
Principal Engineer
CoreUX Team @ Skillshare
how to possibly improve improving the design of existing code
Mike Sherov
Principal Engineer
CoreUX Team @ Skillshare
Mike Sherov
Principal Engineer
Core UX Team @ Skillshare
Who: Martin Fowler - Agile Manifesto
When: Authored in 1999
What:
Technical, Spiritual Manual
One of the "Most Influential"
Why: Software Agility
Learned how to modify legacy systems
Learned how to recognize what's missing
Learned that there were principles in development
Learned that there was a method to development
Refactoring (verb): to restructure software by applying a series of refactorings without changing its observable behavior.
"If you find your change hard to add, Refactor First, then add it. Don't fall for the quick hack."
Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.
https://sourcemaking.com/refactoring/replace-nested-conditional-with-guard-clauses
https://sourcemaking.com/refactoring/replace-parameter-with-explicit-methods
Enforce Them!
// .eslintrc
{
"rules": {
"complexity": ["error", 10],
"max-depth": ["error", 3],
"max-statements": ["error", 20]
}
}
// PHPMD
...
Don't Repeat Yourself
Keep it Simple
You ain't gonna need it
Be clear, not clever
REFACTOR MERCILESSLY