Essential Technical Aspects

Hashani Prabodhya
3 min readFeb 26, 2022

S.O.L.I.D. Principles

· Single responsibility — Class should only have one job to do

· Open-close — Object or entities open for Extensions and closed for modification.

· Liskov substitution — every subclass should have a substitute from the base class

· Interface segregation — Client should have customized methods rather than using common methods.

· Dependency Inversion — High level modules should not depend on low level modules but should depend on abstractions.

Practices

· Unit testing

· Code quality

· Code review

· Version controlling

· Continuous integration

JavaScript

JavaScript is a scripting language which is used to create dynamic web pages. It supports OOP (Object Oriented Programming) and functional programming as well. Following are some special keywords for JavaScript.

Class- defines with a ‘class’ key word. But it does not support all the JavaScript engines yet. Below image show, how to define a class .

Object — To create objects construction function use with a ‘new’ keyword.

To create an object we can also use literals (‘{}’). And those could be singleton.

Prototype — every function and object has a property called ‘Prototype’. Can be used to add, properties and methods to a constructor function. And also objects can inherit properties and methods from the prototype.

this — this refers to an object. In JavaScript, the way this keyword is used, the behavior will change. In an object method this refers to an object, but in Alone or In function this refers global object.

Restrict notation — this helps you to write clean code and prevent undeclared method usage. As an example avoid creating variables without the var keyword.

Closure — closure is a function that returns another function. It references variable in the outer scope from its inner scope. In other words, closure use to encapsulate.

Callback -A callback is a function which passes as a parameter of another function. Callback ensures that a function is not going to run before a task is completed.

Promises -A promise is an object which is used for handling asynchronous operations. It has two arguments which are resolved and rejected. Promise is successfully executed, resolve invoked, and when promise is rejected , reject invoked. By using promises can easily do error handling.

Version Controlling
Version control is tracking and managing changes to a source code. Using revision number changes can be identified.

Why Version Control?
· Provide collaborative development environment
· Easily trace the changes.
· Access control
· Easier backups and centralized source code repository.

Git is ,

· Free and open source

· Create backups

· Easier branching

· Faster than other tools

NoSQL
NoSQL is a non-relational (mostly), schema-free database. Document, key-value, wide-column and graph are the main types of NoSQL. Provides flexible schemas and can easily scale with large amounts of data.

MongoDB
Document type NoSQL database. Has strong capabilities. Insert, Find, Update, Remove are the queries of MongoDB.

--

--