active-directory - 生成如此灵活以至于永远不需要更新的代码是否有值(value)?

标签 active-directory

我目前正在与我的同事讨论我应该如何设计一个将由我的部门使用的 API。具体来说,我的任务是编写一个 API 作为包装器 门面 访问 Active Directory 信息 - 根据我公司/部门的需求量身定制。我知道开源包装器 外墙 已经存在,但这不是问题的关键,仅用作示例。

当我向我的团队展示我的设计方案时,他们拒绝了我,因为 API 不够“可配置”。他们声称他们不希望 API 在“电话号码”和 之间建立联系。 session 中的每个人(除了我)都同意他们更愿意四处询问“Active Directory 中用于用户电话号码的正确字段是什么?”,并将其插入各自的应用程序中(大声笑!)。

他们问我,“如果我们公司决定对电话号码使用不同的字段,而您不在附近对源代码进行更改怎么办?”他们最终承认自己是害怕 负责更改其他人的源代码,即使代码是原始的并且进行了大量的单元测试。我所在部门的每位高级 IT 人员都同意这一点。

在设计软件时,这真的是正确的态度吗?!

最佳答案

http://en.wikipedia.org/wiki/Inner_platform_effect

虽然将过多的假设硬编码到您的程序中是不好的,但过度避免硬编码的假设也同样糟糕。如果您试图使代码过于灵活,则基本上无法进行配置,因为配置方案本身几乎变成了一种编程语言。我认为一般来说,电话号码是一种很常见的东西,可以将其硬编码为一个字段。

关于active-directory - 生成如此灵活以至于永远不需要更新的代码是否有值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1139583/

相关文章:

c# - DOMAIN_CONTROLLER_INFO 标志属性

active-directory - Keycloak:将用户从一个用户联盟迁移到另一个用户联盟

azure - 使用 Microsoft Graph 如何获取从 On Premise AD 同步的 Azure AD 用户字段

powershell - 使用 -ErrorAction STOP 时,Remove-CalendarEvents 失败

java - 与 Active Directory 中未列出的用户建立 LDAP 连接

asp.net-core - 在 ASP.NET Core 2.0 中哪里可以找到 System.DirectoryServices?

windows - 在 Windows Server 2008 中 : Powershell can't import-module ActiveDirectory

asp.net - 使用 AD 进行表单例份验证

c# - 无法在 UWP 应用程序中获取某些用户帐户信息 - 内部事件目录(不是 Azure AD)

c# - 使用 c# 和 TLSv1.2 连接到 LDAP