Monday, 10 May 2021

Code Review Checklist

Hello  everyone i tried to compile some check list for the basic of the code review.

Below are some parameter for code review


 
1) Code formatting

a.     Use alignments

b.     proper naming conventions

       2) Architecture

a.     Separation of Concerns

b.     Design patterns

       3) Coding best practices

a.     No hard coding

b.     comments on why you are doing

c.     Avoid multiple if/else blocks

d.     Use framework features, wherever possible instead of writing custom code

        4) Non Functional requirements

a.     Maintainability-Configurability,logging

b.     Reusability-generic functions,services,components and classes,DRY

c.     Reliability-Exception handling

d.     Extensibility-

e.     Security-Authentication,authorization,SQL injections and Cross Site Scripting,encrypting the sensitive data.

f.      Performance-Caching,Lazy loading,asynchronous

g.     Scalability

        5)  Object-Oriented Analysis and Design (OOAD) Principles

a.     Solid Principle and other principles

 


Wednesday, 27 May 2020

Singleton Vs Static Class

Static Class:-

You cannot create the instance of static class.

Loaded automatically by the .NET Framework common language runtime (CLR) when the program or namespace containing the class is loaded.

Static Class cannot have constructor.

We cannot pass the static class to method.

We cannot inherit Static class to another Static class in C#.

A class having all static methods.

Better performance (static methods are bonded on compile time)

Singleton:-


You can create one instance of the object and reuse it.

Singleton instance is created for the first time when the user requested.

Singleton class can have constructor.

You can create the object of singleton class and pass it to method.

Singleton class does not say any restriction of Inheritance.

We can dispose the objects of a singleton class but not of static class.

Methods can be overridden.

Can be lazy loaded when need (static classes are always loaded).

We can implement interface(static class can not implement interface).

Monday, 11 May 2020

Azure Data Storage

Azure data storage is a option to store data in cloud. It is more secure and scalable.

There are three type of Azure storage:


Structured data.

Structured data is data that adheres to a schema, so all of the data has the same fields or properties. Structured data can be stored in a database table with rows and columns. Structured data relies on keys to indicate how one row in a table relates to data in another row of another table. Structured data is also referred to as relational data, as the data's schema defines the table of data, the fields in the table, and the clear relationship between the two. Structured data is straightforward in that it's easy to enter, query, and analyze. All of the data follows the same format. Examples of structured data include sensor data or financial data.

Semi-structured data.

 Semi-structured data doesn't fit neatly into tables, rows, and columns. Instead, semi-structured data uses tags or keys that organize and provide a hierarchy for the data. Semi-structured data is also referred to as non-relational or NoSQL data.

Unstructured data.

Unstructured data encompasses data that has no designated structure to it. This lack of structure also means that there are no restrictions on the kinds of data it can hold. For example, a blob can hold a PDF document, a JPG image, a JSON file, video content, etc. As such, unstructured data is becoming more prominent as businesses try to tap into new data sources.
    Reference from Microsoft learning path

    Saturday, 9 May 2020

    What are HTTP Status Codes?


    HTTP Status Code Is 3-digit integer in which the first digit of the Status-Code defines the class of response. Response Header of each API response contains the HTTP Status Code. HTTP Status Codes are grouped into five categories based upon the first number.

    HTTP Status Code with Description

    1.
    1XX
    Informational

    2.
    2XX
    Success

    3.
    3XX
    Redirection

    4.
    4XX
    Client-Side Error

    5.
    5XX
    Server-Side Error

    Some of the commonly seen HTTP Status Codes are:

    • 200 (Request is Ok), 
    • 201 (Created),
    • 202 (Accepted), 
    • 204 (No Content), 
    • 301 (Moved Permanently), 
    • 400 (Bad Request), 
    • 401 (Unauthorized), 
    • 403 (Forbidden), 
    • 404 (Not Found), 
    • 500 (Internal Server Error), 
    • 502 (Bad Gateway), 
    • 503 (Service Unavailable) etc.



    Saturday, 9 November 2019

    Commonly used ports

    • HTTP – Port 80
    • HTTPS – 443
    • FTP – 21
    • FTPS / SSH – 22
    • POP3 – 110
    • POP3 SSL – 995
    • IMAP – 143
    • IMAP SSL – 993
    • SMTP – 25 (Alternate: 26)
    • SMTP SSL – 587
    • MySQL – 3306
    • cPanel – 2082
    • cPanel SSL – 2083
    • WHM (Webhost Manager) – 2086
    • WHM (Webhost Manager) SSL – 2087
    • Webmail – 2095
    • Webmail SSL – 2096
    • WebDAV/WebDisk – 2077
    • WebDAV/WebDisk SSL – 2078

    Wednesday, 25 September 2019

    BDD Vs TDD Vs ATDD

    BDD lets organizing software development documentation in a more efficient, more business-like way. Thus business analysts can access information needed much faster and stakeholders see changes implemented much better. Unlike TDD BDD introduces additional details in unit tests.


    BDD is an extension of Test-Driven Development (TDD) that emphasizes developing features based on a user story and writing code that provides a solution to real problems.



    BDD is largely an extension of the TDD methodology. The developer defines a test case, tests code to verify that the test case will fail. Next, the developer writes the code necessary to pass the test case and then tests the code to ensure compliance.

    Where BDD differs from TDD is how the test case is specified. 

    BDD tests cases exist in a way that specifies the desired behavior.
    The clear language of BDD test cases makes it simple for all stakeholders in a development project to understand.


    TDD is a developer-focused methodology that aims to encourage well-written units of code that meet requirements while

    ATDD is a methodology designed to promote collaboration among customers, development, and QA to ensure well-designed requirements.

    Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle:
    first the developer writes an (initially failing) automated test case that defines a desired improvement or new function,
    then produces the minimum amount of code to pass that test,


    Is TDD agile?

    Agile is a philosophy whereas TDD is a specific methodology.