加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

调试 – 如何不忘记在代码中删除调试行

发布时间:2020-12-16 01:28:43 所属栏目:安全 来源:网络整理
导读:这在我看来是一个新颖的想法(因为我没有找到任何解决方案或任何人已经实现它)… A shell script that automatically runs whenever you git commit or whatever that will let you know if you forgot to delete any debugging or development env specific
这在我看来是一个新颖的想法(因为我没有找到任何解决方案或任何人已经实现它)…

A shell script that automatically runs whenever you git commit or whatever that will let you know if you forgot to delete any debugging or development env specific lines of code in your project.

例如:

通常(在我的Ruby项目中)我会留下代码行来输出变量

puts params.inspect

要么

raise params.inspect

此外,有时我会使用不同的方法,所以我可以很容易地看到效果,例如在使用delayed_job的情况下,我宁愿在开发期间没有延迟地调用方法.

问题是有时候我忘记更改这些方法或忘记删除调用以引发params.inspect,我会无意中推送该代码.

所以我想也许最简单的解决方案是为任何这样的调试行添加注释,例如

raise params.inspect #debug

本质上将该行标记为仅开发/调试行.然后在一个shell脚本之前运行一些其他命令,比如git commit,它可以使用awk或grep来搜索#debug注释的所有最新修改文件并停止执行并提醒你.但是我不太了解shell脚本,所以我想我会请求帮助:)

虽然我全心全意地建议遵循cdeszaq’a的建议并且不鼓励做这种事情,但是编写一个git钩子会很容易阻止你用特定字符串提交任何行.为简单起见,我没有展示git rev-parse – 验证HEAD,你应该使用它来使这个钩子在初始提交时起作用,但是如果你只是将以下内容放在.git / hooks / pre-commit(和make)中它可执行),您将无法提交包含字符串’#debug’的任何代码行:
#!/bin/sh

if git diff-index -p -M --cached HEAD | grep '#debug' > /dev/null; then
  echo 'debug lines found in commit.  Aborting' >&2
  exit 1
fi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读