Want to be a good developer , In addition to the superb technical level , Elegant code is the icing on the cake .

So what kind of code is standard , What kind of code can make people see , I'm impressed with you ?

1. Robustness

1.1 Parameter problem

Parameter type judgment

    When using input parameters of functions , First judge whether the type of the parameter meets the expectation ;

Parameter guarantee

    A parameter is required for subsequent operations , But this parameter is not passed in , You can define a minimum data in the function ( This is the default value )

    as :
function add1(a,b) { return a+b; } function add2(a, b=20) { return a + b; }
add1(10); // NaN add2(10); // 30
add1 in a=10, b=undefined,10 + undefined
obtain NaN The results of , and add2 Because to give b Default values are provided 20, When add2 When passing in the second parameter ,b Will be reassigned , Otherwise, the default value is used 20.

Top add2 It can also be written as
function add2(a,b) { b = b || 20; // b No word , Just use it 20 return a + b; }
Parameter is an instance of a constructor

    use instanceof To determine whether the parameter is an instance of a particular constructor

1.2 Error prone code

In the response callback of the request, the front end always returns data processing logic according to the back end , But in case the back end returns something unexpected , It is very likely to cause code error , Available try-catch  Capture error ,


2.  Readability

Simple and clear , Readable code , It will not only make the collaborative development personnel understand at a glance , They can also quickly locate problems during their own maintenance ,

2.1 Semantic

Development time , You can open google translate , Use easy to understand English to give variables , Methods, etc .

2.2 Nomenclature

constant - uppercase

Common variable - Small hump ( noun )

General method - Small hump ( verb )

Class or constructor - title case

local variable - Underline (_) start

2.3 Clear structure

Avoid callback nesting , priority of use promise etc.


3. Reusability

Local level : Reduce code duplication , Logic reuse , Extract public code ;

Global level : Create a common template


4.   Scalability

Distinct modules

High cohesion , Low coupling