Lecture 1
This lecture was about an introduction to the main idea of the module and how the module would commence throughout the semester. In addition to this principles that should be followed when coding at the industry was taught.
This includes S.O.L.I.D which consists the principles of Object Oriented Programming.This includes : Single Responsibility, Open-Close, Liskov Substitution, Interface Segregation and Dependency Inversion.
In addition to this the choices that can be taken to approach a specific solution for a solution that is being developed was also discussed. This includes, think through the problem, Divide and Conquer method, KISS( Keeping it Super Simple or Keeping it Simple and Stupid), Learning from mistakes, remembering why the software exists and finally realizing that you aren’t the final end user.
Finally how a software solution is being implemented was discussed, this includes 7 different approaches with should be kept in mind by every developer. These are, YAGNI(You aren’t going to need it) which is guessing a writing code assuming that it would be important for the future, DRY(Don’t Repeat Yourself) which includes not rewriting code logic and process which is being avoided by abstraction and duplication, Embracing abstraction which deals with the embracing of abstraction provided by an object oriented programming language. DRIW, Don’t Reinvent the Wheel, which mean not designing solutions from scratch when there are already solutions available. Writing a code of few lines and does one simple task is also essential in order to implement a good software. Debug code well and finally leave it better than you found it.
The best practices of coding involves Unit testing, code quality, code review, version control and continuous integration.