[原文见:
http://webpages.charter.net/edreamleo/WhatIsLeo.html]
Leo提纲模式提供了新的编程方式
Leo将代码或数据的方方面面都组织成一种可见的提纲。但是提纲能做的远不只简单的组织:
- 提纲结构是第一类数据,它可以被程序或脚本访问。Leo是完全由Python脚本编写的。实际上,通过脚本访问提纲中的数据是非常容易的事情,这还包括提纲中明确定义的所有层次关系。
- 提纲节点提供了一个通过数据自身来关联元数据(数据定义或描述)的自然而然的方式。标题包含描述,内容记录了实际数据。摘要性质的元数据对人是有用的。更重要的是,遵循元数据定义来编写脚本(元数据驱动)让开发变得简单起来。
- Leo可以通过标准的标记语言noweb从提纲中生成脚本。也就是说,脚本不只是
使用了提纲结构,它本身就
具有提纲的结构。
- Leo的一个插件(script-button)可以根据提纲中特定的“脚本节点”建立“脚本按钮”。脚本按钮出现在Leo提纲窗口的扩展面板中。脚本按钮可以执行当前选中的提纲节点对应的脚本。试一试你就知道这个功能是多么的酷!例如,一个脚本按钮可以根据选中的提纲脚本中自动建立单元测试,完全不需要程序员来编写!
还有很多很多的理由都是来阐述如下观点:集成提纲结构的开发模式是对现有编程模式的根本性的补充。我们的结论就是Leo是个非常强大的文本编辑和编程环境。
Leo可以让你随心所欲的组织你的代码、数据。
Leo提供了一种的可以任意产生提纲的视图的方式。用户通过建立叫做克隆节点的链接性节点来建立任意视图。Leo对所有克隆节点同时进行更新:任意一个克隆节点的任何改动(内容或者结构)将即时同步到其他节点。
视图提供了明确、固有的信息;它们让理解和管理各种复杂数据变得更加容易。例如:视图经常代表着各种具体工作。程序员使用工作视图来组织代码、注释、测试等等相关数据。管理员使用工作视图组织设计信息或任务列表。Web设计师使用视图来组织网站的各个片段。
Leo支持、简化并且扩展了文学化编程方法论的使用
Leo用户可以从一个提纲文件中随心所欲地生成各种派生文件。这个操作名叫"tangling"(混出),它由提纲文件中的noweb标记语言进行控制。"untangling"(混入)是它的逆向操作,也就是说,将来自派生文件的修改同步到Leo提纲文件中。混出、混入操作是可以自动进行的,这样大家很快就习惯了对常规的源代码文件视而不见(译者注:LP注重用户思路的组织,并且认为思路组织好了,程序自然就完成了),就像一个C语言程序员对待机器语言文件一样。
混出是所谓的文学化编程(LP)系统的关键特性。LP方法论由来已久,它没有流行开的原因就是因为LP工具很难使用、LP程序难以理解。Leo完全改变了这些状况,它让一切都变得友好了。
Leo是动态可扩展的
Leo有一个活跃的社区;Leo是SourceForge上排名前200的项目之一。人们经常不断地创造出Leo的新的用法。千千万万的人在使用Leo;他们不少人对Leo充满了热忱。
Leo的用户对Leo的开发作出了巨大的贡献。例如,Leo具有一个简单、强大的插件机制,它充分发挥了Python语言的动态语法的优势。这个插件体系由Leo的用户Paul Paterson建立。Paul最近在编写另外一个插件用于管理Leo用户贡献的成打插件。
分享到:
相关推荐
Leo-IM,开源好用的IM。 Leo-IM是基于Java语言、Netty框架、Vue+Element-UI开发的轻量级IM,服务端可独立运行(无需部署到web容器),HTTP服务和Socket服务可分开部署,使用基于Netty扩展的RESTful框架提供Web服务,...
通过此扩展程序,您可以在任何网站上显示选定文本的LEO翻译,只需单击右键即可。 该Chrome扩展程序可在任何网站上的任何文本的右键菜单中添加一个条目。单击此新行将在新选项卡中打开翻译服务LEO...
QiangxieSystem-leo:互联网开发作业:抢鞋系统
由于小卫星技术的快速发展,以及低轨卫星(LEO)相比传统的地球同步轨道卫星(GEO)具有低时延、低传播损耗等优点,宽带LEO星座卫星通信系统逐渐成为当前卫星通信领域的发展热点之一。目前,世界许多国家和卫星通信...
Leo.Services.Muses:歌手和歌曲
Leo-IM,开源好用的IM。 在线演示 演示地址: 建议使用Chrome浏览器 演示用户1:用户名 test1,口令 123456 演示用户2:用户名 test2,口令 123456 演示用户3:用户名 test3,口令 123456 运行环境要求 Chrome、IE10...
leo-board-pinoccio pinoccio arduino 兼容板的 leo 板配置文件 leo 是用于 node 的命令行 arduino 构建工具,可让您将 npm 用于 arduino 疯狂的库 === 惊人
htc hd2 wm6.5珍藏版官方繁体中文,留作纪念,RUU_Leo_S_HKCSL_CHT_3.14.832.3_Radio_15.42.50.11U_2.15.50.14_LEO_S_Ship.exe
资金注入\支出(非货款)、财务状况查看 客户管理-客户资料明细 数据安全-数据备份、数据恢复 常用工具-计算器 <br/>以及相应项目的报表打印、预览等功能 <br/> msn:leo_a008@hotmail....
WEB开发组件MSN:zhoujianguo_leo@hotmail.com
Starting FORTH by Leo Brodie Starting Forth, the classic Forth language tutorial, is available here in its official online edition. readme: ...
#leo-cli leo-cli是一种命令行工具,可用于将单词或短语从多种语言翻译成德语。 它使用打开的字典 。 我写这篇文章是因为访问他们的网站,选择语言,输入单词并单击“提交”按钮需要几个步骤。 我是个懒人。##...
LEO-银行助理 银行中的语音助手,可帮助您处理财务操作。 这是该项目的资料库,该项目在鹿特丹的ING“打破习惯”马拉松比赛ING 2018中赢得了学生挑战。 当前功能 检查您的支票或储蓄帐户 从一个账户转账到另一个...
<<leo购销管理系统>>是专为小型企业、店铺、个人开发的进、销、存管理、理财、客户管理的工具软件,支持小票打印机及条码扫描枪,可导出数据到EXCEL,具有如下功能: 用户管理-用户管理(可设置各自权限)、修改密码...
LEO BREIMAN的随机森林论文
LEO是一个轻量级的JS库,可帮助您构建现代的前端应用程序。 LEO提供3个简单的工具(列表,元素,对象)来帮助您构建和扩展JS应用程序,而无需为您定义任何特定的体系结构。 列表:对象列表(数组) 元素:具有...
DFT_LEO_USBH_WM65.rar 用于HD2在WM6.5下的OTG驱动。
Spring 新闻系统:MSN:zhoujiangou_leo@hotmail.com
在dict.leo.org上搜索翻译:英文,法文,西班牙文,意大利文,中文,俄文,葡萄牙文,波兰文 有了这个Chrome扩展,可以轻松地从当前打开的页面上下文语言对的德语 - 英语,德语 - 法语,德语 - 西班牙语,德语 - ...
Leo GRADY的随机游走结合图论模型下的分割算法,比较详细。 matlab实现