- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
比如说,我开发了一个复杂的应用程序:在对象成员函数中,我应该只修改那些作为参数传递给成员函数的对象,还是我可以访问和修改我有权访问的任何其他对象(比如公共(public)或静态对象)?
从技术上讲,我知道可以修改我有权访问的任何内容。我问的是良好做法。
有时,将我将访问和修改的所有内容作为参数传递是很麻烦的,尤其是当我知道对象成员函数不会被除我以外的任何其他人使用时。谢谢。
最佳答案
全局状态从来都不是一个好主意(尽管它有时更简单,例如日志记录),因为它引入了接口(interface)中未记录的依赖关系并增加了组件之间的耦合。因此,应该不惜一切代价避免修改全局状态(例如 static
变量)。 注意:全局常量完全没问题
在 C++ 中,您可以使用 const
关键字来记录(并让编译器强制执行)可以修改的内容和不能修改的内容。
const
方法保证对象的可见状态不会被触及,通过 const
引用或值传递的参数也不会被触及。
只要它被记录下来,就很好......你应该努力在你的类接口(interface)中使用尽可能少的非const
方法和尽可能少的非const
方法中的参数。
关于c++ - 良好做法 : To Modify Only Function Parameters?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5093188/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!