内部应用程序 - 为什么不公开所有内容?

2024-04-28

我是否有理由不应该在我们的 Intranet 报告应用程序中将所有内容标记为公开?

公司之外的任何人都无法访问此代码 - 我们有大约 20 个项目 - 大多数都是小型且具体的。

我们真的应该将事物标记为公开以外的任何东西吗?

我对此有自己的想法,但我试图忽略这些想法,因为我希望这是公正的。

(我把标题稍微渲染了一下)


查找封装和/或“信息隐藏” http://en.wikipedia.org/wiki/Information_hiding:

在面向对象编程中,信息隐藏(通过类型嵌套)将代码对不确定实现(设计决策)的依赖转移到定义良好的接口上,从而降低了软件开发风险。接口的客户端纯粹通过它执行操作,因此如果实现发生变化,客户端不必更改。

如果您将每个类的成员标记为公共,那么您将造成维护噩梦,未来的开发人员(包括您自己)将不确定该类的哪些部分是永久性的(契约)以及纯粹的实现细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内部应用程序 - 为什么不公开所有内容? 的相关文章

  • strtok() 使用安全吗[重复]

    这个问题在这里已经有答案了 我读到了很多负面的东西strtok 有人说它已经过时 有人说它不是线程安全的 等等 那么真相是什么 我可以使用吗strtok 它是线程安全的吗 Note 我正在使用 Visual C 您可以使用它 它是标准库的一
  • 信号与信号2

    我的应用程序可能会受益于使用 boost 的信号库之一而不是本土解决方案 该应用程序是多线程的 但执行信号处理的部分是单线程的 如果多线程不是问题 是否有任何理由更喜欢 Boost Signals2 而不是 Boost Signal Boo
  • 头文件中实现的函数的静态与内联

    我想到的方式inline在 C 中用于链接 作用域 我把它放在同一个篮子里extern and static对于全局对象 通常 对于在头文件中实现的函数 我的首选解决方案是将其设为静态 In Foo h static void foo Do
  • C# 中类似图的实现

    所以我有一个对象 我们称之为 Head 它有一个对象列表 C C1 C2 C3 T T1 T2 和 M M1 M2 并且所有这些都是相互关联的 例如 Head gt C1 C2 C3 T1 T2 M1 M2 T1 gt C1 C2 T2 g
  • Winform DatagridView 数字列排序

    我只使用一个简单的 DataGridView 来保存一堆数据 有趣的是 我在特定列中有小数 但是当按小数列排序时 它的排序是错误的 例如 起始顺序可能是 0 56 3 45 500 89 20078 90 1 56 100 29 2 39
  • 如何使用c#从数据桶中获取所有文档?

    如何获取数据桶中的所有文档 我尝试过一个示例 但我只能获得一个特定的文档 这是我的代码 CouchbaseClient oclient oclient new CouchbaseClient vwspace data bucket name
  • FluentAssertions ShouldNotThrow 无法识别异步方法/Func

    我正在尝试检查异步方法是否抛出具体异常 为此 我使用 MSTEST 和 FluentAssertions 2 0 1 我已经检查过这个关于 Codeplex 的讨论 http fluentassertions codeplex com wo
  • std::make_pair 与浮点数组(float2,无符号整数)

    我有一个用 float2 unsigned int 对模板化的向量 例如 std vector
  • 原子存储抛出错误

    我最近升级到了 C 11 兼容编译器 并且尝试将一些代码从 boost 更新到 c 11 标准 我在使用atomic store转换一些代码时遇到了问题 这是一些简单的测试代码 似乎会引发编译器错误 int main std shared
  • 如何在 C++ 和 QML 应用程序中使用 qrc?

    我在 Windows7 上用 c qnd Qt Creator QML 编写了 Qt Quick Desktop 应用程序 现在 我必须部署它 并且我需要隐藏 qml 文件和图像 意味着 将它们放入资源等中 我读到有一个很好的方法可以使用
  • 模板与非模板类,跨编译器的不同行为

    我在一些应用程序中使用编译时计数器 它确实很有用 昨天我想用 gcc 编译一个程序 我之前使用的是 msvc 并且计数器的行为在模板类中发生了变化 它在模板类中不再工作 过于简化的代码 Maximum value the counter c
  • 查找方法不适用于 EF6.1 模拟

    我已经使用这些 msdn 指南设置了模拟 使用模拟框架进行测试 EF6 及以上 http msdn microsoft com en us data dn314429 var bsAc db BusAcnts FirstOrDefault
  • linq where 子句和 count 导致 null 异常

    除非 p School SchoolName 结果为 null 否则下面的代码将起作用 在这种情况下 它会导致 NullReferenceException if ExistingUsers Where p gt p StudentID i
  • 从具有相同属性的另一个对象创建对象

    我有一个 C 对象 可以说有 20 个属性 它是数据契约的一部分 我还有另一个具有类似属性的业务实体 我想从响应对象中填充该实体 除了将一个对象的每个属性分配给另一个对象的相应属性之外 还有其他方法可以做到这一点吗 是的 看看自动映射器 h
  • 实体框架读取列但阻止其更新

    给定一个数据库表 其中有一列包含历史数据但不再填充 实体框架中是否有一种方法可以读取该列 但在使用相同的模型对象时防止它被更新 例如我有一个对象 public class MyObject public string CurrentData
  • 展开 std::reference_wrapper 的成本

    Given include
  • C - 获取外部IP地址

    我需要通过 C C 调用获取我的公共 IP 地址 我知道作为替代方案 我可以从 http whatismyip akamai com 等外部链接获取 我写了一个示例来获取外部IP地址 但我的程序没有返回外部 IP 地址 我正在获取内部 IP
  • 如何在控制台程序中获取鼠标位置?

    如何在 Windows 控制台程序中用 C 获取鼠标单击位置 点击时返回鼠标位置的变量 我想用简单的文本命令绘制一个菜单 这样当有人点击时 游戏就会注册它并知道位置 我知道如何做我需要做的一切 除了单击时获取鼠标位置 您需要使用 Conso
  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir

随机推荐

  • 您可以在报表生成器 3 中轮换可见的子报表吗?

    我有一份主报告和几份子报告 本质上 我想轮流显示每个子报告大约 30 秒 然后隐藏第一个子报告 然后显示下一个 并在所有时间结束后重新启动 Thanks 我 认为 你可以做到这一点 但有一些注意事项 您将需要设置一个数据库表来存储当前循环位
  • 使用CSS自动流动2列文本[重复]

    这个问题在这里已经有答案了 我有类似于以下的代码 p This is paragraph 1 Lorem ipsum p p This is paragraph 2 Lorem ipsum p p This is paragraph 3 L
  • 查找可变行长度的java 2D数组中列的最大元素

    我有一个二维数组 其中有不同长度的行 我想编写一个返回一个新数组的方法 该数组由列的最大元素组成 如果这是一个简单的 n x m 数组 那就很容易 但由于行的长度是可变的 我无法想出一个解决方案来解释列中不同数量的元素 例如 该数组如下所示
  • 为什么页面锚点在 Ruby On Rails 中不起作用?

    因此 我的链接具有用于加载 ajax 的 href 值和用于链接到页面顶部的 onclick 值 当我单击链接时 ajax 内容都会加载 并且 url 会显示对锚点的引用 但页面不会移动到锚点 我已经尝试过锚点show html erb a
  • 是否可以从 JS 显式调用导出的 Go WebAssembly 函数?

    是否可以调用 Go WebAssembly 函数 除了main 在 JavaScript 中 让我先展示一下我做了什么 我的Go函数定义如下 package main import fmt func main fmt Println it
  • 如何解决“实现限制:特征...访问受保护的方法...在具体特征方法内。”

    我正在使用的 Java 库类声明 protected getPage Page 现在我想做一个助手 Scala mixin 来添加我经常使用的功能 我不想扩展该类 因为 Java 类有不同的子类 我想在不同的地方扩展 问题是如果我使用get
  • 如何在 Bootstrap 4 中的面包屑元素右侧插入按钮?

    我正在使用以下面包屑 ol class breadcrumb li class breadcrumb item a href Home a li li class breadcrumb item active My Account li o
  • 在函数中声明默认参数在幕后有什么作用?

    这不是调试问题或操作方法问题 这是一个概念性问题 我发现很难理解什么this https developer mozilla org en US docs Web JavaScript Reference Functions Default
  • 使用 i386 arch 而不是 x86_64 在 OSX 上构建 libFLAC

    我正在尝试构建 libFLAC 以在我的项目中使用 但是当涉及到链接时 GCC 会忽略该库 因为它说它不是为当前体系结构 i386 构建的 当我以 64 位编译程序时 它正确链接了库 这意味着该库是针对 x86 64 架构编译的 不幸的是
  • 当私有成员变量更改值时,如何停止 Visual Studio 调试器中的执行?

    假设我的类有一个名为 count 的私有整数变量 我已经在代码中遇到了断点 现在 在我按 继续 之前 我想让调试器在 count 获得分配给它的新值时停止 除了将 count 提升到字段并在字段的 set 方法上设置断点之外 还有其他方法吗
  • Java中省略大括号可以吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我已经搜索过这个 但找不到答案 无论出于什么原因 我都羞于问教授 因为当数百人盯着你看时的感觉 无论如何 我的问题是括号的重要性是什么 如果我省
  • 在浏览器关闭时删除 cookie,而不是在页面刷新时删除

    我看到很多关于同样问题的帖子 但我没有得到确切的解决方案 我想使用 javascript 删除浏览器或选项卡关闭事件上的 cookie 我已经做了删除cookie功能并调用了卸载前事件 但我看到该事件在页面刷新时也被调用 我不想在页面刷新时
  • 在表中显示ajax响应

    显示 html div style display none table class table p Select All p table div
  • 通过国家代码检查手机号码是否有效

    我有像 919672525253 这样的联系人 现在我从该号码中提取国家 地区代码 例如 91 现在 如果号码类似于 9672525253 并且如果我提取国家 地区代码 那么它将给我 967 所以提取后国家 地区代码 我如何检查剩余号码是否
  • 使用并行的 parLapply:无法访问并行代码中的变量

    我最近得到了一台具有多个核心的计算机 并且正在学习使用并行计算 我相当熟练lapply并被告知parLapply工作原理非常相似 但我没有正确操作它 看来我必须明确地将所有内容放入parLapply使其工作 即要使用的函数 变量等 和lap
  • YouTube 视频 ID 的正则表达式

    我有以下代码可以从字符串中检测视频 ID 它实际上捕获了我需要的更多情况 我想让它更简单并仅返回以下格式的字符串的 id https www youtube com watch v 85PMSYAguZ8 https youtu be 85
  • 在 Jetty 运行时设置 ssl 密钥库

    是否可以在运行时更改密钥库 目前我正在设置 SSL 然后再执行 server start sslContextFactory setTrustStore ks sslContextFactory setTrustStorePassword
  • 无法获取 GED 日志缓冲区,错误(0)

    我的 Android 项目有一个大问题 那就是error Failed to get GED Log Buf err 0 我真的不知道该怎么办以及如何解决它 有人可以帮我吗 非常感谢 Find Advanced logging在你手机的De
  • TSQL 检索当月/当年的所有记录

    我有一个名为 DateFinished 的日期时间字段 我需要能够检索 DateFinished 在当前月份 年份内的所有记录 如果您只有少量行 这将可以获取所有行DateFinished就在今年这个月 SELECT FROM MyTabl
  • 内部应用程序 - 为什么不公开所有内容?

    我是否有理由不应该在我们的 Intranet 报告应用程序中将所有内容标记为公开 公司之外的任何人都无法访问此代码 我们有大约 20 个项目 大多数都是小型且具体的 我们真的应该将事物标记为公开以外的任何东西吗 我对此有自己的想法 但我试图