惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
美团技术团队
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
A
About on SuperTechFans
Recent Announcements
Recent Announcements
D
Docker
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
腾讯CDC
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
codelab-adapter增加调试功能
种瓜 · 2019-01-30 · via 夜行人

文章目录

Built By Developers, For Developers.

前言

昨晚发布了codelab-adapter的第5个主版本,睡前洗澡的时候,一直在想什么是好的创造工具,如何找到那些设计原则。找到这些指导原则之后,如何将它用于增强手边这些服务于创造的项目: codelab-adapter/scratch/neverland.

喜欢在洗澡的时候胡思乱想,水雾弥漫,精神自由。回想做过的所有重要决定,几乎都发生在洗澡的时刻。

Paul Graham曾说,如果你洗澡时候没有想到你日常做的东西,说明你并不热爱它。

“什么是好的创造工具"是个好问题吗?按提出正确的问题比得到正确答案更重要的看法,这问题有些大而无当,它能带着我前进吗?还是带着我兜圈?这问题困扰了我很久,我想换一个更清晰的、更易于处理的问题,却一直没找到。

热衷于回答这个问题的人并不多,为它所扰的人似乎也不多,Bret Victor是其中最有名的一个。他提到的很多有价值的意见,诸如:

创造者需要即时的反馈

如果你无法即时看到东西,就无法找到你要的灵感

你应该看到你做出的改变对系统的即时影响

想法需要一个环境,创作者可以培育它们

codelab-adapter而言,谁是创造者?Ta们用它做什么?目前所做的设计易用性如何?是否过度设计了?它要怎么生长?如何收集用户反馈?什么是好的改良建议?

洗澡/散步和阅读的时候,似乎是我思维最发散的时候;写作和工作时,思维是聚焦的。所以我把问问题的时间一般都留在洗澡/散步和阅读上,提出问题,能否解答并不重要。洗澡/散步和阅读花了我大多数闲暇时间。

在考虑“谁是创造者?”的时候,我顺便问了句,开发者是不是创造者?是的,他们为codelab-adapter构建插件,他们当时是需要被考虑的一类创造者。

应该为他们做些什么?什么问题能引导我们找到开发者所需要的改进?

引导我们的依然是Bret Victor的建议

think about what matters to you

我自己就是很典型的插件开发者,我写了很多个插件。所以what matters to you

增加调试工具!我厌倦了每次在console.log和tail info log(codelab-adapter-docs debug)中来回切换,只为搞懂系统中发生了什么。

创造者需要即时的反馈

如果你无法即时看到东西,就无法找到你要的灵感

你应该看到你做出的改变对系统的即时影响

我非常喜欢Bret Victor提出的上述几条指导原则。之前在两种硬件编程风格的比较中也提到类似的观点。

调试功能

想清楚了之后,今天一早,我就开始用代码实现实现我自己需要调试功能:让开发者能即时看到发生的事情。

创造者需要即时的反馈

codelab-adapter的开发者需要什么反馈呢?codelab-adapter的设计原则之一是everything is a message(EIM),所以让开发者看到所有的message就是很重要的事情。

为了获得创造能力,理解系统当然是很重要的,通过展示所有消息,可以帮助开发者做到这点。但能够对系统施加影响以实现目标,也是至关重要的,所以调试工具要能支持开发者发送任何消息,于是我们给出最原始的message输入框,允许开发者发送任何消息,包括发送改变系统内部行为的消息。

除此之外的其他的复杂性,应该屏蔽在工具之下,界面从简,尽可能符合直觉,不要增加认知负担和分散注意力。

调试功能随着codelab-adapter v0.5.1一同发布。

需要改进的地方,欢迎大家发邮件讨论。

使用

打开codelab-adapter v0.5.1, 点击帮助>调试(Debug)

调试Python kernel

参考