most of coding/ software design, is about getting your code to be 3 things:
a) easy to change via b) loose coupling and c) high cohesion
it's not really about OOP FP DDD TDD *DD or Java or JavaScript or Python or any other pattern or paradigm or language
1/3
a) easy to change via b) loose coupling and c) high cohesion
it's not really about OOP FP DDD TDD *DD or Java or JavaScript or Python or any other pattern or paradigm or language
1/3
a) what's hard to change?
b) coupling - code entanglement - have to break/change several methods/classes to just change one method/class
c) !cohesive - easily misunderstood - vars, methods, classes that seem like they should be together are in different classes or folders
2/3
b) coupling - code entanglement - have to break/change several methods/classes to just change one method/class
c) !cohesive - easily misunderstood - vars, methods, classes that seem like they should be together are in different classes or folders
2/3
all the talk of OOP FP DDD TDD *DD or Java or JavaScript or Python or any other pattern or paradigm or language are just tools to help us to produce code that other developers like to work in, and applications that the users are happy with
3/3
3/3