1.为什么你可以大胆的源码删除代码呢?
2.问下计算机大神,C语言编译执行时会自动去掉源代码的注释注释符,那么这个去掉是源码有规则的还是无规则的?亦或
为什么你可以大胆的删除代码呢?
为什么你可以大胆的删除代码呢?一般的话删除代码都有以下操作删除代码的最佳方法
这看起来似乎是明显的,但我不这样认为,注释因为开发者会使用大量的源码其他方式来删除代码。 删除代码的注释社交商城源码方式如下:
选择编辑器中的代码块,单击Backspace键,源码然后就完成了。注释
许多开发人员不愿意删除已经写出的源码东西,他们想要保存大量的注释代码块以免再次用到。毕竟在编写这些代码块的源码时候他们付出了很多工作,在调试的注释时候,它们可以工作。源码他们不想轻易的注释将它们扔掉。
这些开发者希望能够保存他们老的源码代码,所以他们使用一些方式将这些代码失效:注释掉,条件执行,音乐解析json源码或者仅仅是不再调用。
对于那些开发者,我想说“使用源(控制),Luke”,一个源代码控制系统(例如 Git, Mercurial,或者 Subversion),意味着你永远不需要担心一些东西会永远丢失。微信榜单源码当你再次需要的时候你的储存库会给你提供哪些老代码。
如果你没有一个 源代码控制系统(!?!?!)或者仅仅不想因为查找历史记录而被麻烦,那么可以将代码块复制到一个单独的文件区域,并保存。但是不要让代码留在他们不应该在的地方:在你的源代码里。
What"s the big deal?
如果你有一块不再需要的代码,有一个需要删除它而不是将它处于失效状态的重大原因:减少噪音和不确定性。一个开发者会碰到一些最糟糕的影视会员平台源码敌人就是代码中的噪音和不确定性,因为未来这些会导致代码不能有效地运行。
失效状态的代码块会引起不确定性。它会对其他开发者带来疑惑:
§ 这个代码过去为什么是这个方式?
§ 为什么新的方式更好?
§ 我们需要需要换回就的方式吗?
§ 我们怎么决定?
如果这些问题的答案需要人们知道,那么写一个注释说明它。不要让你的合作者猜测你的用意。
注释掉代码
注释掉一行或者两行(甚至行)代码是非常简单的:
// OldWayStepOne(fooey);
// OldWayStepTwo(gooey);
NewWay(fooey, gooey);
这些注释是糟糕的。注释应该用于给读者提供他们阅读或者编写代码时需要的信息。注释应该用于帮助未来将会使用这些代码的vs code源码阅读开发人员。但是上面的注释并没有起到这些效果。事实上,它们的作用刚好相反。在将代码从编译中移除的同时,这些注释增加了代码的混乱、不确定性以及可质疑性。
后续的开发人员在查看这个代码时会知道它老的运行方式,也会知道它新的运行方式,但是它们不知道为什么老的运行方式依旧被保存着:
§ 可能新的方式只是一种实验?如果是这种情况,那么更好的代码是什么?最终版本的代码是如何以及何时保存的?
§ 或许老的方式是更好的,但是有一些错误?如果是这样的话,错误在哪里?是老的方式中代码有问题,还是我们调用时产生的问题?何时会被修复?
§ 或许设计以及改变了,所以老的方式不足以胜任?
任何的注释掉的代码都是一个潜在的问题“为什么它仍然存在?保留一块注释掉的代码是有理由的,比如当你知道很快就会恢复或者那些并不确定的修改。保存代码通常没问题,但是你需要表明为什么保留,注释是为了给别人看的,而注释中的代码并不能告诉任何人任何事情。
不要在没有任何解释的情况下注释掉一段代码 (in the comment).
下面这种方式会不会更好?:
// OldWay did a better job, but is too inefficient until MumbleFrabbitz
// is overhauled, so we"ll use NewWay until the M4 milestone.
// OldWayStepOne(fooey);
// OldWayStepTwo(gooey);
NewWay(fooey, gooey);
现在,谁知道是否MumbleFrabbitz真的会迎来M4里程碑式的大修?或许这种情况不会发生。但是没关系,谁能知道未来会出现什么情况?至少通过这种方式开发者会知道代码被保存下来的原因。通过对改变的解释以及老代码存在的原因说明,开发者会知道他们可以安心的使用新方式,或者何时他们可以有到更好的解决方法。
问下计算机大神,C语言编译执行时会自动去掉源代码的注释符,那么这个去掉是有规则的还是无规则的?亦或
一般情况下是不会反编译出来的,但也有例外。
c语言是在预处理阶段把所有的注释全部干掉的。编译器不接受任何注释,会直接报错。
如果你的IDE能提供一个类似于插件之类的工具,在c程序提交编译之前自动把你所有的注释变进程序正文中做成那种由双引号标识的字符串(例如添加一条语句char * _comm_1="Built on --";),而且之后没有使用类似于混淆器这样的防止反编译的技术,那么对软件反汇编后是可以看到它们的。
但是正常情况下别人是不可能直接从软件反编译的结果上去找你的程序注释的。