进行中SCIENTIFIC SOFTWARE

为科研而做的软件

科研软件如何在不牺牲可维护性的前提下,真正被人使用?

研究科研软件的架构、离线能力、可访问性与长期维护,让工具不只停留在演示阶段。

软件是研究的一部分

在化学与人工智能的交叉工作中,软件常常被视为“实现细节”。但工具的界面、格式与默认值会改变研究者如何理解数据,也会决定一个项目能否被他人使用。

我们把科研软件当作研究的一部分:它不仅承载结果,也承载假设、约束与工作方式。一个好的工具应该让正确的操作更容易,让错误更容易被发现。

可维护性是一种科学美德

学生团队每年都会有人毕业。如果代码只能由作者本人运行,项目实际上已经结束。因此我们重视文档、约定、自动化构建与部署,也重视把决策写下来。

这不是工程洁癖,而是让知识能够跨届传递。后来者不需要重复所有探索,也可以在前人的基础上做出不同的选择。

真实使用比演示更难

演示环境里,网络总是稳定的,数据总是干净的,用户总是知道下一步该点哪里。真实使用会暴露慢查询、格式错误、移动端布局和无人维护的依赖。

我们尽量在真实设备和真实数据上测试,也尽量让网站在 JavaScript 失效或动画关闭时仍然可用。这些要求不显眼,但决定了一个工具是否值得信任。

方法与关注点

  • 以内容与任务为中心的信息架构
  • 离线优先与渐进增强
  • 可交接的代码、文档与部署流程
  • 性能、可访问性与真实设备测试

边界与限制

  • 不追求功能数量,优先保证核心路径可靠。
  • 学生团队人员会流动,架构必须允许后来者接手。
  • 没有条件进行大规模用户研究,结论主要来自小范围使用与反馈。
进行中

研究主题会随着项目与阅读推进而调整。这里展示的是当前的理解,不是最终结论。