调试 – 如何不忘记在代码中删除调试行
这在我看来是一个新颖的想法(因为我没有找到任何解决方案或任何人已经实现它)…
例如: 通常(在我的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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |