核对表:循环CHECKLIST:Loops

核对表:循环CHECKLIST:Loops

循环的选择和创建
  • 在合适的情况下用while循环取代for循环了吗?
  • 循环是由内到外创建的吗?
进入循环
  • 是从循环头部进入的循环吗?
  • 初始化代码是直接位于循环前面吗?
  • 循环是无限循环或者事件循环吗?它的结构是否清晰?
  • 避免使用像for i = 1 to 99999这样的代码吗?
  • 如果这是一个C++、C或者Java中的for循环,那么把循环头留给循环控制代码了吗?
循环的内部
  • 循环是否用了"{}"或其等价物来括上循环体,以防止因修改不当而出错吗?
  • 循环体内有内容吗?它是非空的吗?
  • 把内务处理集中地放在循环开始或都循环结束处了吗?
  • 循环像定义良好的子程序那样只执行了一件操作吗?
  • 循环短得足以一目了然吗?
  • 循环的嵌套层次不多于3层吗?
  • 把长循环的内容提取成单独的子程序吗?
  • 如果循环很长,那长它非常清晰吗?
循环下标
  • 如果这是一个for循环,那么其中的代码有没有随意修改循环下标值?
  • 是否把重要的循环下标值保存在另外的变量里,而不是在循环体外使用该循环下标?
  • 循环下标是序数类型(整数)或者枚举类型------而不是浮点类型------吗?
  • 循环下标的名字有意义吗?
  • 循环避免了下标串话问题吗?(退在同一循环内部使用了相同的下标变量了吗?)
退出循环
  • 循环在所有可能的条件下都能终止吗?
  • 如果你建立了某种安全计数器标准,循环使用安全计数器了吗?
  • 循环的退出条件清晰吗?
  • 如果使用了break或都continue,那么它们用对了吗?
相关推荐
weixin_448119945 分钟前
Datawhale Easy Data × AI:构建知识与记忆驱动的 Agent笔记8
人工智能·笔记·react.js
摸鱼 特供版21 分钟前
一款边录边标注的轻量截图录屏工具
windows·学习·电脑·音视频·软件需求
wuminyu31 分钟前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
陈年老古董33 分钟前
Hive 函数学习笔记(下):窗口函数与经典案例
hive·笔记·学习
longlongzihan36 分钟前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
liulilittle1 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
yi0111 小时前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
罗西的思考1 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 — (6)— 奖励机制
人工智能·笔记·学习
无忧.芙桃2 小时前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
沫璃染墨2 小时前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构