识字编程

2024-01-06

识字编程 http://en.wikipedia.org/wiki/Literate_programming是一种软件开发方式,首先是文档,然后是编码。首先编写代码片段的文档,然后编写该代码片段的实现。软件源代码的视觉外观将是一个类似word的普通文档,其中包含代码段落。

我正在尝试将我工作的开发商店转变为仅使用文字编程,因为它为代码的可读性和可维护性带来了巨大的优势。然而,由于缺乏工具,LP 在公司内的使用受到限制。例如,编程识字的理想方法是使用单词标记编写一个段落,然后插入一个带有实现的小段落。但我似乎找不到任何好的工具可以让 VS200x 执行 LP。

理想情况下,这样的工具看起来就像 Word 2007,但集成到 IDE 中。当编码器将光标设置在代码段落上时,它将拥有提供的所有功能,就像我们现在在 IDE 中一样。

对于 LP 有哪些好的工具,特别是 .NET 和 VS200x?


感谢您尝试改进团队的工作方式。只要你尝试这样做,你就比那些不这样做的人有优势。

我曾经在一个项目中使用过文学编程。真的很辛苦,但结果也很好。似乎是一个合理的权衡。

然而,今天我宁愿采取不同的方法:我宁愿编写清晰到人类不介意阅读的代码,而不是为人类编写散文和为机器编写代码。当我想写评论时,我想“我可以让这段代码更清晰”。这意味着我编写的文档更少,而不是更多。

好吧,无论你选择什么道路,祝你好运。

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

识字编程 的相关文章

随机推荐

  • 在 C++ 中使用 sort() 对二维字符数组进行排序

    我有一个 2D 字符数组 我不想使用 std string 数组 如何使用 std sort 根据字符串的长度对字符串 char 进行升序排序 我已经尝试过以下方法 但这不起作用 char names 100 30 bool comp co
  • Spock 和 Groovy 保证 REST [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 Spock 的新手 想使用 Spock 和 REST assured 为 REST 接口编写测试
  • Firebase - 使用 Firebase admin sdk 跨子域共享身份验证

    我做了一些关于分享的研究auth object跨我的应用程序的子域 显然 firebase 的 web sdk 是这样设置的 我的想法是拥有一个单一登录网站login myapp com我的其他应用程序可以使用它app1 myapp com
  • 用于具有多个参数的 webapi 方法的自定义模型绑定器

    我拥有的 我有一个 api 控制器 ASP NET Core MVC 具有以下方法 HttpPost Route delete public Task
  • 在matlab中拟合二维曲线

    曲线拟合工具箱有一个名为 cftool 的工具箱函数 可让您将曲线拟合为一维数据 有二维数据的东西吗 杰瑞提出了两个非常好的选择 不过 如果您想要更公式化的模型形式 还有其他选择 当前版本中的曲线拟合工具箱允许您将曲面拟合到数据 而不仅仅是
  • 使 UITableView 看起来更像一个“传统”表格,具有多个列

    我有一个相当标准的UITableView 但我想将其更改为看起来像 iOS 开发之外的普通表格 使其具有更多列 但只有一行 并使单元格呈方形 我考虑过制作更多的表格 每个单元格一个 然后将它们彼此相邻放置 但这不太方便 是否有一种简单的方法
  • 如何限制android ListView中文本的长度?

    我可以知道如何限制文本的长度吗listView 下面是listView from wechat 这是我的listView 如何限制文本的长度 使其显示如下这是 工作描述 请 任何帮助将不胜感激 如果您设置TextView二者皆是单线 htt
  • 如何在 Eclipse 中查明某个方法是直接还是间接从另一个方法调用?

    如何在 Eclipse 中查明某个方法是否可能从另一个方法调用或可访问 直接或间接 假设我想重构A one 这可能会受到副作用的负面影响D four 因此我想知道是否D four 可能会被调用A one 我可以看到调用了哪些方法A one
  • 在 Apps 脚本中将文本关键字替换为“分页符”元素

    我想用分页符替换特定的文本关键字 这是我尝试过的 body findText PAGE BREAK getElement appendPageBreak and body replaceText PAGE BREAK asBody appe
  • Rx Java Observable 执行直到某个条件

    我正在尝试找到一种执行可观察的方法 直到满足某些条件 考虑以下示例 myDelayedObservable createListenerObserver public Observable
  • 如何在 Firefox 插件 sdk 扩展中使用 main.js 中的 XMLHttpRequest。 (或类似的东西)[重复]

    这个问题在这里已经有答案了 我有一个 Firefox 扩展需要检查 onUnload 事件 基本上我想在用户禁用扩展时向我的服务器发送一条消息 我尝试做的是将消息发送到我的内容脚本之一 然后该脚本将调用 XMLHttpRequest 这对于
  • 在 Coq 中,重写适用于 = 但不适用于 <-> (iff)

    我在证明期间有以下内容 我需要替换normal form step t with value t因为有一个已证明的定理存在等价 H1 t1 gt t1 normal form step t1 t2 tm H2 t2 gt t2 normal
  • 在 Scala 中使用累加器映射列表的函数式方法

    我想编写简洁的代码来映 射列表 累积一个值并在输出列表中使用该值 使用递归函数和模式匹配这很简单 见下文 但我想知道是否有一种方法可以使用函数编程系列的组合器 如映射和折叠等 来做到这一点 显然 映射和折叠是不好的 除非您使用在调用外部定义
  • 固定顶栏与命名锚点

    我有一个顶栏position fixed其中还包含锚链接 a href someid jdjd a 问题在于目标放置在视口的顶部 固定顶栏后面 如何修复浏览器滚动以便目标显示在顶栏下方 据我所知 没有干净的解决方案 如果使用内联滚动条也可以
  • xcframework不包含内部框架

    我正在尝试创建一个 xcframework我正在使用的一些第三方库的文件 按照以下指示https appspector com blog xcframeworks https appspector com blog xcframeworks
  • 将输入更改为大写,光标不会跳到文本末尾

    我使用以下代码将输入值更改为大写
  • AWS 服务无法承担角色

    我有两个 AWS Cloudformation 堆栈 一个用于 IAM 角色 第二个用于创建 AWS 服务并使用 Cloudformation 将相应的角色导入其中 当部署 10 个以上服务时 其中 1 个或 2 个服务会随机出现以下错误
  • Appium XCUITest 中的代码签名证书错误

    我正在尝试使用 Appium XCUITest 实现 IOS 10 的 UI 自动化 在运行脚本时 它尝试构建 WebDriverAgent 但此时失败 我已经添加了配置文件并通过 UI 在 Xcode 中添加了帐户 但不确定 XCUITe
  • 如何使用 Espresso 测试适配器中特定位置的项目

    我正在尝试使用 Espresso 2 0 来验证给定位置的列表适配器项中的文本是否正确 但在我的一生中 我无法找出要调用的正确方法 我的适配器类型 IconRowAdapter 包含一个列表IconRow对象 每个 IconRow 有一个g
  • 识字编程

    识字编程 http en wikipedia org wiki Literate programming是一种软件开发方式 首先是文档 然后是编码 首先编写代码片段的文档 然后编写该代码片段的实现 软件源代码的视觉外观将是一个类似word的