第四维度学习基础知识
要点
- 4D 工具栏是一个便利层,而不是必需的 - 对于许多开发人员来说,隐藏它是合理的第一步,因为图标不明显,并且菜单栏公开相同的命令。
- 在学习时,数据库属性最好保留默认值;过早地改变它们可能会掩盖你试图理解的行为。
- 属性与数据库结构一起存储,因此它们随项目一起移动并影响每个开发人员和每个已部署的客户端 - 将它们视为团队级别的决策,而不是个人偏好。
- 数据库属性和应用程序/首选项设置之间的区别很重要:一个更改您发布的产品,另一个仅更改您的工作环境。
- 严格的设置顺序 - 创建数据库、查看属性、定义表、定义字段、构建表单、连接值列表、输入示例数据 - 防止以后返工。
为什么工具栏是您首先需要决定的事项
4D 工具栏位于设计环境的顶部,提供对常见操作的快速访问:打开结构编辑器、表单编辑器、方法编辑器、运行数据库等。原则上这听起来很有帮助。在实践中,许多开发人员(包括本文所基于的原始笔记的作者)发现它非常分散注意力。这些图标并非一目了然,悬停以发现每个图标的作用会打断设计表格或表单的思维流程。
如果这描述了您,您可以将其关闭。从“设计”菜单中打开“数据库属性”对话框(在经典 4D 中,可通过“属性/首选项”区域访问),找到“显示工具栏”复选框,然后取消选中它。工具栏从设计环境中消失,您可以通过菜单栏进行导航 - 结构、表单、方法、运行等。
这是一个小决定,但它说明了一个值得尽早内化的更大原则:4D 为您提供了大量的表面积,但并非所有这些在第一天都对您有用。 作为初学者,您的工作是减少噪音,以便您可以看到底层模型 - 表、字段、表单以及它们之间的关系。
关于工具栏决定的一些实用注意事项:
- **隐藏它是可逆的。**取消选中该框不会造成破坏。如果您稍后想要恢复它,请重新打开同一对话框并重新勾选。
- 菜单栏是唯一事实来源。 每个工具栏按钮都对应一个菜单命令。学习菜单路径是比学习图标位置更持久的知识。
- 键盘快捷键胜过两者。 一旦您了解了菜单命令,学习它们的快捷键(例如,运行数据库或打开结构编辑器的快捷键)比工具栏或菜单更快。
- 您的偏好可能与您的队友的不同。 因为此设置存在于数据库属性中,所以它是共享的。如果你在一个团队中工作,就约定达成一致,而不是来回翻转。
数据库属性:它们是什么以及它们为何重要
在 数据库属性 对话框中,您可以配置应用于整个数据库而不是单个表、字段或表单的设置。这是创建新数据库后您将遇到的第一个对话框之一,很容易完全忽略它或过度配置它。
要理解的关键是这些设置的范围。数据库属性存储在数据库结构文件中。这意味着:
Related: — A spreadsheet-simple interface sitting on top of a real , with automations, views, and shareable interfaces..
- 它们是共享的 - 每个打开结构的开发人员都会看到相同的属性值。
- 它们随产品发布 - 当您构建编译的应用程序或部署解释的数据库时,属性随之而来。
- 它们是持久的 - 它们可以在重新启动、重建和(在大多数情况下)结构升级中幸存下来。
将其与 4D 应用程序本身或每个用户首选项文件中的设置进行对比。这些仅影响您的计算机和您的会话。这种区别很重要,因为感觉“只是我的偏好”的改变实际上可以改变每个人的行为。
初学者实用规则
这里的原始指导是合理的,值得强调重复:暂时将其他属性保留为默认值。 该对话框中有很多选项,其中大多数选项解决了您尚未遇到的场景。更改您不理解的属性是创建错误的可靠方法,该错误看起来像代码问题,但实际上是配置问题 - 最难诊断的类型。
随着您对 4D 越来越熟悉,您将开始认识到属性何时相关。这是改变它的正确时机。鼓励实验,但要谨慎进行:改变一个属性,观察效果,并记下发生了什么。
If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..
如何决定是否更改属性
当您想修改“数据库属性”对话框中的某些内容时,请回答以下问题:
- 我明白这个设置控制什么吗? 如果不明白,请保留它。先查一下。
- 这是一个项目范围的决定还是个人的决定? 如果是个人的,它可能不属于这里。
- 这会影响已部署的客户端吗? 如果是,则需要是一个有意识的、记录在案的选择。
- 我可以轻松撤消它吗? 大多数属性都是可逆的,但有些属性会以不明显的方式与其他属性相互作用。
- 我是否在数据库副本中对其进行了测试? 对于任何重要的事情,请在提交之前对重复结构进行测试。
设置顺序以及属性适合的位置
它有助于在上下文中查看属性步骤。本系列中列出的学习路径是:
- 创建数据库 — 启动一个新的结构文件。
- 数据库属性 — 检查项目范围的设置,并暂时接受默认值。
- 表 — 定义您的应用程序将存储的实体(客户、发票、产品等)。
- 数据字段 — 定义每个表的属性,选择适当的字段类型。
- 表单 — 设计用户实际使用的输入和显示屏幕。
- 值列表(选择列表) — 提供受控词汇表,以便用户从有效选项中进行选择,而不是键入自由文本。
- 输入示例数据 — 填充数据库,以便您可以根据实际内容测试表单和列表。
属性步骤排在第二位,因为它们构成了接下来的一切,但它们故意“不”是花费你早期精力的地方。 4D 的智力工作在于步骤 3 到 6:获得正确的数据模型,然后使其可用。
为什么顺序很重要
- 表在字段之前。 在您知道字段属于哪个表以及该表代表什么之前,您无法明智地定义字段。
- 表单之前的字段。 表单是字段的视图。设计表单首先会产生仅用于布局的字段。
- 值列表之前的表单(实际上)。 在构建使用它们的表单时,您经常会发现哪些字段需要选择列表。
- 最后是示例数据,但并非最不重要。 空表单隐藏问题。零记录看起来不错的表单可能会因真实姓名、长地址和边缘值而崩溃。
数据库属性与应用程序首选项:比较
初学者经常将这两个类别混为一谈。它们配置在不同的地方,具有不同的范围,应该区别对待。
| 方面 | 数据库属性 | 应用程序/用户偏好 |
|---|---|---|
| 范围 | 数据库结构以及由此构建的所有内容 | 您的 4D 应用程序和您的工作会话 |
| 它影响谁 | 所有开发人员和所有已部署的客户端 | 通常只有您 |
| 存储位置 | 结构文件内部 | 在 4D 应用程序或每用户设置位置 |
| 随项目一起迁移? | 是的 | 没有 |
| 典型例子 | 工具栏可见性、启动行为、结构范围选项 | 窗口位置、编辑器字体、最近文件列表 |
| 初学者建议 | 接受默认值;刻意改变并记录 | 自由调节以适应您的舒适度 |
工具栏设置是一个稍微不寻常的情况:它感觉像是个人偏好,但它作为数据库属性公开。这正是值得暂停的原因。当某个设置的位置与其明显范围不一致时,请放慢速度并考虑还有哪些人受到影响。
首次使用时的实用指导
如果您是第一次使用 4D,这里有一个具体方法可以让您高效地度过第一个小时。
- 使用清晰的描述性名称创建数据库。如果您计划在计算机之间移动结构文件或从脚本引用它,请避免在结构文件名中出现空格和特殊字符。
- 打开数据库属性并通读选项而不更改它们。阅读免费;它构建了可配置内容的思维导图。
- **如果您发现“显示工具栏”分散注意力,请取消选中它。这是原始指南认可的一项更改,而且是安全的。
- 关闭对话框并转到“表”。 抵制浏览每个选项卡的冲动。
- 保留一个简短的笔记文件,记录您所做更改的任何属性以及原因。未来的你和你的队友都会感谢你。
此阶段初学者常见错误
- 建模前过度配置。 在属性对话框中花费一个小时,在数据模型上花费十分钟是倒退的。
- 将共享设置误认为个人设置。 请参阅上面的比较表。
- 一次更改多个属性。 如果出现问题,您将不知道是哪个更改导致的。
- 完全忽略对话框。 默认值通常是正确的,但“通常”并不“总是” - 知道那里有什么。
哪里更深入
4D 平台有着悠久的历史和大量的文档。 4D SAS 维护的官方 4D 文档站点是产品中每个属性、命令和编辑器的权威参考指南,值得尽早加入书签。有关产品及其沿袭的一般背景,有关 4D(编程语言) 的维基百科文章提供了有关该平台如何从关系数据库演变为完整应用程序开发环境的有用上下文。
如果您有 SQL 背景,维基百科对关系模型 的概述是对 4D 在其自己的习惯用法中实现的概念(表、记录、字段和关系)的有用回顾,尽管 4D 的术语和工具与典型的 SQL 服务器不同。由于 4D 应用程序经常与通用商业软件一起部署,因此当您需要了解主机操作系统的窗口、文件和用户界面行为约定时,Microsoft Learn 和 Apple Developer 文档站点是方便的参考。
这些都不能取代结构编辑器中的实际操作时间。学习 4D 的最快方法是构建一个小型的真实数据库(您真正想要跟踪的数据库),并让属性对话框在后台保持安静,直到您有理由打开它。
常见问题
我应该隐藏 4D 工具栏吗?
这完全是个人工作风格的问题。许多开发人员隐藏它,因为图标不直观并且菜单栏公开相同的命令,而其他开发人员则更喜欢一键访问。该设置是可逆的,因此请尝试两种方式并保留有助于您保持专注的方式。
数据库属性与我的个人喜好相同吗?
不是。数据库属性与结构文件一起存储,因此适用于每个开发人员和每个已部署的客户端。个人偏好仅影响您自己的计算机和会话。当某个设置感觉很个人化但存在于数据库属性对话框中时,请将其视为共享决策。
为什么我应该首先保留默认属性值?
因为大多数选项都解决了您尚未遇到的情况,并且更改您不理解的设置可能会产生看起来像代码错误但实际上是配置问题的行为。默认值是一个合理的起点;一旦你知道每个选项的作用,就重新审视它们。
设置新 4D 数据库的正确顺序是什么?
创建数据库,检查属性,定义表,定义每个表中的字段,设计表单,设置受控字段的值列表,然后输入示例数据。这一顺序使每一项决策都以之前的决策为基础,并避免返工。
在构建表和表单之前是否需要配置属性?
不。属性对话框定义了项目的框架,但实质性工作发生在结构和表单编辑器中。您可以构建一个完整的、可运行的数据库,而无需触及大多数属性,并且可以在稍后出现特定需求时重新对其进行配置。
我如何知道何时需要更改数据库属性?
当您可以清楚地说明该设置控制什么、它影响谁以及您期望因此改变什么时,最好是在结构副本上对其进行测试之后。如果您还不能回答这些问题,请将其保留为默认值并继续构建。
Try FileMaker Free for 45 Days
The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file.