CleanCode 代码整洁之道 课程测试

感谢您能抽出几分钟时间来参加本次答题,现在我们就马上开始吧!
关于一行代码尽量简单,目标唯一。请结合课堂重构案例,请分析一行代码做一件事的主要优点是什么( )?
A:各语句单独一行,则代码仅需自上而下读,而不必自左到右。
B:将每个语句单独置于一行,能够提供有关程序复杂性的准确观点。这样就不会因为使复杂的语句看起来简单而隐藏了程序的复杂性。
C:各语句单独占一行,在编译器以行号指出某行有错误时,容易定位错误。
D:各语句单独占一行,在基于行的调试器中就容易单步地执行代码。
E:各语句单独占一行,编辑单个语句也更容易删除一行或者临时将某行改为注释。
2:课堂之中介绍了,函数应该遵守单一职责--函数应该做一件事,做好这件事,只做这件事. 经常可以通过函数名称,确定是否需要重构。请问以下哪些函数名称,可能违反单一职责,需要重构函数名的是哪些选项( )?
A.A:函数名称含有and / or
B.B:函数名称是Run/Process/Execute/hander等
C.C:判断检查函数为isOK/ Check等
D.D:函数名称是动词+名词结构
3:课堂之中介绍了函数的坏味道. 请问以下关于函数的代码坏味道是哪些项( ) ?
A.A:魔法数字MagicNumber
B.B:变量包含多种职责
C.C:函数过长
D.D:函数违反单一职责
4:抽取新函数有时为了隐藏和封装,一般封装的目的有哪些( )?
A.A:隐藏复杂度,这样你就不用再去应付它,除非你要特别关注的时候
B.B:隐藏变化源,这样当变化发生时,其影响就能被限制在局部范围.
C.C:隐藏封装接口
D.D:隐藏封装平台
5:根据课堂创建函数原则,以下哪些原因更合适Extract Method( )?
A.A 单一抽象层次原则SLAP
B.B降低复杂度
C.C避免代码重复
D.D 简化复杂的布尔判断
E.E封装第三方API容易移植
6:根据课堂创建度量函数复杂度的指标,请问以下哪些可以应用( )?
A.A 代码行数
B.B 函数参数个数
C.C:每行运算符和操作数的数量
D.D:控制结构中的嵌套层数
7:根据课堂的代码坏味道,请问以下哪些是函数坏味道( )?
A.A 过长方法
B.B过长参数列表
C.C 注释过多/过少
D.D大量 switch语句
8:根据课堂的高质量函数的10个一 ,请问以下哪些是( )?
A.A 每个变量只用于单一用途
B.B每一个行代码只表达一件事
C.C 一个循环只做一件事
D.E:函数应该遵守单一职责
9:函数圈复杂度度量规则。不正确为( )
A:(if / while / for /and /or)加1
B:给case 语句中的每一种情况加 1
C:三元运算符a?b:c 加 1
D:catch 语句加 1
E:++和--语句加1
Hoare认为返回值为Null。使用它导致了十亿美金的错误。关于NULL建议是( )?
A.A: 别返回null值
B.B:别传递null值
C.C:建议抛出异常,或者返回特例对象(NullObject)
D.D:可以使用常量代替NULL

10题 | 被引用6次

使用此模板创建