· SOLID Principles
· Approaching the solution
· Application framework
· Version Controlling
· No SQL
What are these SOLID Principles? SOLID principles are the five object-oriented principles used in software designing. These five principles are,
1. Single responsibility principle — “A class should have one and only one reason to change, meaning that a class should have only one job”
2. Open-close principle — “Objects or entities should be open for extension, but closed for modification.”
3. Liskov substitution principle — “Every subclass/derived class should be able to substitute their parent/base class”
4. Interface segregation principle — “Clients should not be forced to depend upon interfaces that they do not use.”
5. Dependency inversion principle — “Higher level modules should not depend on lower level modules, but they should depend on abstractions”
The above are the five principles and their definitions.
Approaching the solution
In software engineering we always look for technical solution to a business problems. How do we make the best possible solution?
It has a few things to so with it. They are listed below.
1. Think throughout the problem
2. Divide and conquer
3. Keep it simple and stupid
4. Learn, especially from mistakes
5. Always remember why software exists
6.Remember that you are not the user
The following is an excerpt from the internet as a definition of software engineering practices.
“Practice is a broad array of concepts, principles, methods, and tools that you must consider as software is planned and developed”
Although there are many software practices, we will talk about some of them.
What is unit testing? Unit testing is a method of testing software. In this method the test is performed part by part. It is a test of individual parts. This unit can be a class, a function, a module. The main advantage here is the ability to check if each unit receives the relevant output. Also the developer has the ability to change or upgrade the code during the unit testing. Another key feature is the ability to detect problems in advance.
Code quality is a very important practices. The key here is to make the code easy to read and understand. Also the code quality should be checked regularly using tools. It also aims to improve the performance of the code. Also reducing the complexity of the code and reducing the duplication of the code will increase the quality of the code.
This is the best way to improve code quality. The purpose here is to increase the performance of the code and find the best way to solve the problem.
This is like a repository of code distributors. Developer should check this at least two to three times a day. Each check is varied by an automated build.
What is an application framework?
“An application framework is a software library that provide a fundamental structure to support the development of application for a specific environment. An application framework acts as the skeletal support to build an application.”
There are a large number of frameworks to use in software development. Some of them are,
· Server Load
· Rich interfaces
· Client-Side Security
· Browser support
Closure is a function which returns another function.
Callback and Promises
This is used to manage source changes. Using a revision number identifies the changes. This allows you to see who made the change and how long it took. It is also you to restore, compare and merge changes.
Why we use Version controlling?
· Easier backups and centralized source code repository.
· Easy collaborative development.
· Overview of changes performed to a file.
· Access control.
· Conflict resolvement.
Git is most popular version control system. This is free and open source version control. This is support for multiple protocols.
● Git init
● Git clone
● Git add
● Git stage
● Git commit
● Git push
What is NoSQL database?
NoSQL databases are non-tabular and they store data differently than relational databases. NoSQL databases come in a variety of types based on their data model. Those are,
· Column Family