【问题标题】:Is it secure to add comments to the code?在代码中添加注释是否安全?
【发布时间】:2019-11-18 23:26:12
【问题描述】:

我相信代码告诉你怎么做,但是 cmets 告诉你为什么。当您决定创建另一个版本的应用程序时,cmets 真的很有帮助。但是我真的应该在我的代码中添加 cmets 吗? 我听说一些黑客可以解码我的应用程序。 cmets 可以帮助他们理解它! 我的问题很简单,当我的构建类型为“发布”时,是否有任何工具可以从我的项目中删除 cmets?或者如果 minifyEnabled true 已经这样做了?

【问题讨论】:

  • 如果你的代码写得很好,它将是可读的,如果有人感兴趣,他们将能够理解它,不管你的 cmets。
  • 我相信没有办法可以 100% 保护您的代码,但是一些工具可以提供帮助,例如 minifyEnabled 可以缩短和更改方法名称并优化代码,但是有什么方法可以删除所有cmets 何时构建发布版本?

标签: android security comments


【解决方案1】:

是的,它是安全的,它对任何其他使用您的代码的开发人员都有帮助,但如果您正确组织和命名事物,他也可以在没有 cmets 的情况下理解它。如果有人可以破解你的代码,他不需要你的 cmets 来理解它,所以不要介意,一定要编写干净的代码。

【讨论】:

    【解决方案2】:

    在这个行业工作了一段时间后,我可以告诉你 cmets 是这份工作中最有用的方面。没有什么比打开一个包含 15 年旧代码的文件,并且不得不浪费 2 个小时在没有向导的情况下涉水阅读代码的感觉更棒了。将 cmets 写入您的代码!几个cmet里的代码如果说不清楚,那你自己也看不懂!

    编辑:如果有人入侵了您的代码,他们不需要您的 cmets 来理解它,我会将您的安全问题集中在其他领域,请查看 OWASP 以获得前 10 名列表...https://www.owasp.org/index.php/Top_10-2017_Top_10

    【讨论】:

    • 我真的很尊重你的回答。
    【解决方案3】:

    我推荐阅读鲍勃叔叔的清洁代码https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

    它有一整章专门介绍 cmets(如果我没记错的话,第 4 章)。

    关于混淆代码,Proguard 完成了这项工作。

    proguardminifyEnabled 的区别在这里更详细的解释: What's the difference between "minifyEnabled" and "useProguard" in the Android Plugin for Gradle?

    【讨论】:

      【解决方案4】:

      *如果有任何工具可以从我的项目中删除 cmets *,android 编译器实际上会忽略 Java 文件中的所有 cmets。

      当你的 Java 文件被编译成 Java 类时,它们是在没有 cmets 的情况下编译的,编译器会忽略它们,你可以说。

      所以不要担心代码中的 cmets。

      【讨论】:

      • 这就是我需要知道的,:)
      • 注意我说的只是java文件的cmets,你们还有其他的cmets吗?喜欢 XML cmets?
      • 不,只有 Java 文件 :)
      猜你喜欢
      • 2015-05-06
      • 2012-02-02
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多