当前位置:网站首页>Code review concerns
Code review concerns
2022-07-06 01:19:00 【hursing】
Review Can be divided into 3 A level , The higher level will contain the lower level content .
One 、 primary , Specification level
Not familiar with relevant code , Can only review Compliance with specifications , Based on readability . Specifications as per 【 Language > frame > system platform > project > company > Same as the context 】 To comply with . concerns :
- Code specification , name :< Variable | Constant | function | class | file | Catalog > Named < Case write | abbreviation | Minus sign or underline > etc.
- Code specification , Format : Line break 、 Blank line 、 Space 、tab Or the number of spaces 、include/import Sort, etc
- Code specification , Content : notes 、 Function body line limit 、 exception handling 、 No zombie code 、 There is no magic number 、 Whether to use Lamda Expression etc.
- Code specification , Location : Catalog 、 Package or namespace hierarchy
- Use standard , Internal agreement : whether 【 Unified use or can't use 】 Specific functions 、 Interface 、 library . For example, logs are printed through encapsulated classes
- Submit specifications :commit log Compliance with specifications ; Are there different tasks ( Demand or bugfix) Submit separately , Whether to merge and submit the same task
- Branch specification : Whether to submit in the right branch , For example, version . There are additional requirements , For example, do not submit and repair after the test bug Irrelevant code , Go to the next version or temporary branch to submit .
- review Process specification : Whether to give it to the right person review、 Copy in place 、 Modify according to opinions
- design code : Follow basic design principles , The responsibilities of each category are simple and clear , decoupling .
- Document specifications : Is it necessary to write documents if the complexity is high , Whether the implementation is consistent with the document .
Two 、 intermediate , Performance architecture level
Familiar with relevant code but not familiar with requirements , More attention can be paid to technical design , Value performance 、 Extensibility 、 Maintainability 、 Security 、 Stability, etc . concerns :
- Cross module / application / End to end interaction , Is the design reasonable , Whether coupling is introduced
- Application of design principles and design patterns
- Asynchrony and atomicity :Timer、 Cross thread 、 Cross process 、 lock
- performance :IO Duration , Whether background thread execution is required , Whether there are redundant operations ,lazy load,SQL Optimize 、 Algorithm complexity, etc .
- journal 、 The burial point is reasonable , The cause of the abnormal condition can be found in the log , Nor abuse .
- Safety considerations : encryption 、 Inspection, etc
- Major anomalies are UI Tips , It is convenient for users to help locate problems .( This scenario cannot be proposed by products )
- Extensibility : Whether it is flexible enough to cope with changes
- Whether wild pointers or memory resident objects will be generated
3、 ... and 、 senior , Demand level
Familiar with code and requirements , Will pay attention to more details , Generally, pair programming can achieve this level . concerns :
- UI: copy 、 size 、 Color 、 shadow 、 typeface 、 Alignment mode 、 Front and back levels 、 Animation 、 picture 、 voice 、 Video etc. , It may be different in different states
- Function and process logic : Entrance and exit 、 State and condition 、 The rules ( type 、 precision 、 Value range 、 The default value is 、 Display format 、 Calculation processing method, etc )、 Abnormal situation ( Know the probability and the source cause ).
- Bugfix, Can it really be solved bug.
边栏推荐
- Leetcode 208. Implement trie (prefix tree)
- ADS-NPU芯片架构设计的五大挑战
- Exciting, 2022 open atom global open source summit registration is hot
- 037 PHP login, registration, message, personal Center Design
- internship:项目代码所涉及陌生注解及其作用
- Live video source code, realize local storage of search history
- Fibonacci number
- Dynamic programming -- linear DP
- View class diagram in idea
- 程序员搞开源,读什么书最合适?
猜你喜欢
Cf:d. insert a progression [about the insert in the array + the nature of absolute value + greedy top-down]
Yii console method call, Yii console scheduled task
Test de vulnérabilité de téléchargement de fichiers basé sur dvwa
95后CV工程师晒出工资单,狠补了这个,真香...
Electrical data | IEEE118 (including wind and solar energy)
Dede collection plug-in free collection release push plug-in
VMware Tools安装报错:无法自动安装VSock驱动程序
IP storage and query in MySQL
毕设-基于SSM高校学生社团管理系统
BiShe - College Student Association Management System Based on SSM
随机推荐
How to get the PHP version- How to get the PHP Version?
Electrical data | IEEE118 (including wind and solar energy)
DOM introduction
有谁知道 达梦数据库表的列的数据类型 精度怎么修改呀
Leetcode study - day 35
Recommended areas - ways to explore users' future interests
Live broadcast system code, custom soft keyboard style: three kinds of switching: letters, numbers and punctuation
BiShe - College Student Association Management System Based on SSM
Test de vulnérabilité de téléchargement de fichiers basé sur dvwa
Mysql--- query the top 5 students
The inconsistency between the versions of dynamic library and static library will lead to bugs
Vulhub vulnerability recurrence 75_ XStream
Four dimensional matrix, flip (including mirror image), rotation, world coordinates and local coordinates
Four commonly used techniques for anti aliasing
Cf:h. maximum and [bit operation practice + K operations + maximum and]
What is weak reference? What are the weak reference data types in ES6? What are weak references in JS?
Study diary: February 13, 2022
Leetcode1961. 检查字符串是否为数组前缀
ORA-00030
Zhuhai's waste gas treatment scheme was exposed