Here we are trying learn and implement the design principles as used in object oriented prgramming .
there are 5 principles denoted as (SOLID)
S - Single Responsibility Principle which states a class should have only one reason to change.
O - Open/Closed Principle which states that software entities shuold be open for extension but closed for modification.
L - Liskov's Substitution Principle which states that objects of a superclass should be replaceable with objects of its subclasses without breaking the application.
I - Interface Segregation Principle states that Clients shuoldn't be forced to depend upon interfaces they don't use.
D - Dependency Inversion Principle states that high level modules should be decoupled from low level modules, introducing an abstraction layer between the high level classes ans low level classes.
in our repo , the before.js file contains code that violates one of the five principles while after.js file contains code that doesn't violate the corresponding principle violated from the before.js file.