首页 > 其他分享 >code review (ZZ)

code review (ZZ)

时间:2023-06-09 17:01:29浏览次数:39  
标签:code 不要 函数 review 编译 ZZ 不能 少用 代码


1) 是否有语法错误,编译错误,编译警告。
做法:下载最新代码,将编译警告级别提升到最高,检查output信息。

2)是否符合需求,完成requirement文档要求的内容,不能多,也不能少。
注意:即使发现有问题代码,如果与需求关联不大,不要涉及。
应该让每次enhancement和bug fix最简洁,牵涉范围最小,影响到组件最少。

3)是否符合编码规范:
    a) 注意等号前后,操作符前后的空格和tab,行尾不要有多余空白字符
    b) 注意命名规范,少用缩写形式,少用2/3/ex这种增强版
    c) 对于循环局部变量,注意少用I,j在较长代码中(三四行OK)
    d) ..

4)代码美感
    a) 不能有嵌套的if-for-switch-while出现
    b) 不能有非常复杂的条件判断表达式(用于if-while之类)
    c) 足够的注释,对于复杂操作,对于条件判断,可以注释。尽量让代码自己说明自己
    。
     d) 如果代码不能在短时间内理解,或者稍作解释就可以理解,应该看看能否有更简洁
    的方式
    e) 函数不要过长,不能超过一屏显示,最多不应该超过2-3屏。
    f)经常问自己是否有更好的办法,更简洁明了的代码形势
    g) 一个函数只做一件事,如果需要多个功能,再写一个
    h) 少用boolean 作为参数切换功能,用withXXXcase, usingXXXcondition函数名字来
    自说明。道理同g)
    i) 少用重载功能,没必要类似函数用一个名字,既然有不同函数实现,那么应该有不
    同条件描述,可参考h)的命名
    j) 抽象层次不要过多,不要过早和过多考虑设计模式/抽象/抽取通用功能这些事情,
    这些在代码重构阶段可以修改调整。

5)逻辑
    a) 参考上一条4),基本上有足够美感的代码,逻辑上问题都不大

6)杂项
    a) 性能的关注应该基于profiling data,而不是猜测
    b) 代码的正确与否,不是基于猜测而是基于test case
    c) 扩展性不需要考虑过多,有一点点就好
    d) 时时问自己,这个函数/变量/逻辑判断/.. 有没有必要,是不是可以删掉的
    e) 时时问自己,如果不用手动测试,自动化测试自己这段代码,可以不可以?如何实
    现?(MEF or 数据界面分离… )可否通过脚本、工具自动化某些流程?

标签:code,不要,函数,review,编译,ZZ,不能,少用,代码
From: https://blog.51cto.com/u_16156420/6449456

相关文章

  • C# helper to dump any object to a log (zz)
    57IV3C#helpertodumpanyobjecttoalo944905381Published19/12/2011c#,codeLeaveaCommentTags:c#,debug,dumpobject,reflectionSometimebackIhadtheneedforcodetomakeareasonablegoatdumpingoutanyobjectintoadebuglog.Visual......
  • The Road Not Taken (zz)
    TheRoadNotTakenTworoadsdivergedinayellowwood,AndsorryIcouldnottravelbothAndbeonetraveler,longIstoodAndlookeddownoneasfarasIcouldTowhereitbentintheundergrowth;Thentooktheother,asjustasfair,Andhavingperhaps......
  • CVS 用法总结(zz)
    这里有份CVS中文手册http://man.chinaunix.net/develop/cvsdoc_zh/index.html#Topcvs用法总结(1)--cvs命令格式,标志字符和环境cvs用法总结(1)--cvs命令格式读书笔记,中文名"版本控制之道-使用cvs",英文名"PragmaticVersionControl-UsingCVS"。以下内容......
  • Debugging VBA zz
    Onceyou'rewrittenyourVBAproceduresandachievedcleancompileswithouterrors,youarereadytoundertakethemostimportantstepinprogramming:testinganddebugging. Toomanyprogrammersbecomecomplacentoncethecodeiswrittenandtheyge......
  • Leetcode Hot 100 & 128. Longest Consecutive Sequence
    参考资料:考点:哈希&[题干]Input:nums=[100,4,200,1,3,2]Output:4Explanation:Thelongestconsecutiveelementssequenceis[1,2,3,4].Thereforeitslengthis4.做的时候冥思苦想了半天,因为这个题目要求是O(n)的解法,后来看到题解的时候还一度怀......
  • Atcoder ABC221G Jumping sequence
    发现这个\((x,y)\)对应的是曼哈顿距离不太好求,那直接逆时针旋转\(45\)度(其实应该还要伸长\(\sqrt{2}\)倍,但是可以当做\(d_i\)也伸长\(\sqrt{2}\)倍不用去管)转化成切比雪夫距离\((x-y,x+y)\)。同时对应的\(4\)个方向在旋转后对应的方向也得到了改变:\(U(-d,d),......
  • 直播平台搭建源码,LintCode 大小写转换
    直播平台搭建源码,LintCode大小写转换一、直接利用C++中的tolower(大写转小写)函数。 classSolution{public:  /**   *@paramstr:theinputstring   *@return:Thelowercasestring   */  stringtoLowerCase(string&str){    //Wri......
  • ebay站点码类型 SiteCodeType(令牌) 各个国家的网址,日本 德国等等
    SiteCodeType(令牌)易趣网站(按每个用户居住的国家/地区),用户注册在这些网站上,并且可以通过交易API列出项目。使用SiteCodeType的类型:IntegratedMerchantCreditCardInfo类型、ItemType、MembershipDetailType、PerformancedAshBoard类型、补偿策略同意类型、SellerType、SiteDetailsTyp......
  • Visual Studio Code 1.79 发布
    发布模式 -将工作区中的特定文件和文件夹标记为只读。在某些开发场景中,将工作区的某些文件夹或文件显式标记为只读会很有帮助。例如,如果文件夹或文件内容由不同的进程管理(例如node_modules由Node.js包管理器管理的文件夹),则将它们标记为只读可以避免意外更改。根据设置......
  • LeetCode> 69. 求x的平方根
    目录题目题目描述解题思路参考题目地址:LeetCode69.x的平方根题目描述给你一个非负整数x,计算并返回x的算术平方根。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。注意:不允许使用任何内置指数函数和算符,例如pow(x,0.5)或者x**0.5。示例1:输入:x......