很抱歉,如果问题不太好,这是我的第一篇帖子。
我知道在Java中防御性编程是一件很好的事情,因为它阻止变量的值被更改,如果它们不应该改变的话。然而,如果一个程序被编译,这是必要的吗?
我所指的例子如下:
在我的大学课程中,我不得不用Java中的Swing和AWT创建一个web浏览器。这个web浏览器是我单独创建的,当它被提交时,我必须发送一个可执行的JAR文件和.java文件(只有这样它们才能被标记,它们就不会被编辑)。
从我对编程的看法来看,我知道我不会做防御性编程应该阻止的任何事情。源代码也永远不会公开,也不会被编辑(不管它是否公开发布)。因此,为什么需要防御性编程,因为您无法从可执行文件中获取源代码?
我觉得我只会使用这一点,因为这是公认的编程标准。
我希望我解释得很清楚。
谢谢。
发布于 2017-05-19 14:21:44
问题得到了无数评论的精彩回答。最好是摘录@Carcigen式的评论。
一旦编译完毕,它就不是真正的问题了。这是为了防止当你忘记了你自己的源代码时,它的某些方面。
所以现在还不让我标记这个答案。
https://stackoverflow.com/questions/44071958
复制相似问题