管理随机配置变量的通用模式

发布于 2024-08-24 22:13:36 字数 1187 浏览 4 评论 0原文

作为一个总是试图将事情归结为常见模式的人,我很难找出管理整个应用程序中所有这些随机属性的最佳和/或推荐方法。我正在寻找一些智慧。

我所说的随机属性是什么?这里有一个小列表:

  • 网站图标
  • 替代文本,用于随机但常见的图标,例如徽标和社交图标
  • 菜单标题和嵌套菜单标题
  • 版权信息
  • 表单和按钮标签
  • 表单字段中的默认文本
  • 工具提示
  • 文本,例如“发表评论”或“向我们发送电子邮件” ”或“点击此处取消回复。”
  • 特色帖子
  • 作者姓名

我从事的第一个大项目是定制 Spree 电子商务系统(我是 Rails 人员) ,并且他们保留了很多(不是全部)在深层嵌套的 yaml 文件中配置内容,他们在 html 模板中使用这些内容,例如

t('checkout_steps. payment')

。还有诸如 settingslogic 之类的东西以及其他以类似方式工作的东西。我喜欢这些方法,但我仍然不清楚这是否是最好的方法...

(超过)想知道,你,SO 读者:如何

  • 组织你的代码有效管理超过 200 多个随机设置?
  • 你们有什么样的系统?你使用什么样的模式?
  • 你会让你的客户以某种方式定制这些吗?

寻找正确方向的推动力。开始学习如何编程,您将学习代码分离和显式定义类,而不是将事物连接在一起,以免它们变得一团糟。但自定义/随机设置/配置似乎不遵循任何这些规则,并且它们完全被排除在外。所以我只是想知道您如何看待它们。我不觉得浏览代码并更改一组 HTML 模板中的值是最好的选择......

简而言之:WTF 是一个“设置”,我们如何正确使用它们?

期待您的见解。

Being the one always trying to boil things down to common patterns, I'm having a hard time figuring out the best and/or recommended ways of managing all those random properties throughout an application. I am looking for some SO wisdom.

What are the random properties I'm talking about? Here's a small list:

  • favicon
  • alt text for random but common icons like the logo and social icons
  • menu titles and nested menu titles
  • copyright info
  • form and button labels
  • default text in form fields
  • tooltips
  • text like "Leave a Comment" or "Send us an Email" or "Click here to cancel reply."
  • featured posts
  • author name

The first big project I worked on was customizing the Spree eCommerce System (I'm a Rails guy), and they keep a lot (not all) of that config stuff in deeply nested yaml files which they use in their html templates like <h1>t('checkout_steps.payment')</h1> for example. Then there are things like settingslogic and others which work in similar ways. I like those approaches, but it's still not clear to me if that's the best way to go...

I'm (more than) wondering, how do you, the SO reader:

  • Organize your code to effectively manage the upwards of 200+ random settings?
  • What kind of system do you have in place? What kind of patterns do you use?
  • Do you let your client customize these in some way?

Looking for a nudge in the right direction. Starting out learning how to program, you learn about code separation and explicitly defining classes, and not wiring things together so they become a mess. But custom/random settings/configuration don't seem to follow any of those rules, and they're completely left out of the picture. So I'm just wondering how you think about them. I don't feel like going through the code and changing values throughout a set of HTML templates is the best option....

In short: WTF is a "setting", and how do we use them correctly?

Looking forward to your insight.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏の忆 2024-08-31 22:13:36

不要将配置与翻译混为一谈。
在您的应用程序中,您应该具有以下内容:
1. 核心配置变量。必须配置的变量才能启动您的应用程序。这些适用于大多数应用程序的数据库参数、LDAP 参数等。这些大多存储在 /config 目录下的 yaml 文件中。
2. 全局配置变量。应用程序启动后可以配置的变量可能在应用程序中有一个 UI。这些主要存储在 /config 目录下的 yaml 文件中。或特殊的数据库表。
3. UI 文本翻译和本地化。这些主要存储在 /config/locales 目录下的 yaml 文件中。

Don't mix what is considered configuration to what is considered translation.
In your application you should have the following:
1. Core config vars. variables that must be configured so your app would start. Theese are for most apps database parameters, ldap parameters etc. Theese are mostly stored in yaml files, under /config dir.
2. Global config vars. variables that can be configured after your app starts, may have a UI in the app. theese are mostly stored in yaml files, under /config dir. or a special DB table.
3. UI text translations and localization. Theese are mostly stored in yaml files, under /config/locales dir.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文