用一个小时的流量要多少钱(用一个小时编写一个小程序)

【CSDN 编者按要想快速编写程序,必须要认真考虑技能、工具选择、摊销和回报。

原文链接https://buttondown.email/hillelwayne/archive/how-much-can-you-code/

未经授权,禁止转载!

作者 | HILLEL WAYNE 译者 | 弯月责编 | 王子彧 出品 | CSDN(ID:CSDNnews)

首先,我们来探讨一下哪些任务适合自动化。

如上图所示,如果你花费一天多的时间实现了每个月只能节省 5 分钟的任务,那么纯属浪费时间。

当然,自动化除了节省时间之外,还有其他意义。例如, 花一天时间自动化每个月只能节省5分钟的任务并不划算,但如果你十分【我爱线报网】厌恶这项任务,那么仍然是值得的。

这个问题会引出另一个问题:为什么你需要花费一天时间?

为什么不能是一个小时?

如果你能快速写出完整的程序,那么编写程序就能成为解决更广泛的问题、且节省时间的解决方案。一个小时是“快”的一个很好的衡量标准。一个小时就是一顿午饭的时间。

谈及快速编写程序,我认为我们必须考虑到下面这些因素。

技能

快速编程是与软件工程截然不同的一项技能。软件工程原则并不适用于快速编程。当然,良好的组织和清晰的意图仍然很重要,但是很多 SE 理论都是围绕如何作为团队的一部分持续开发现有代码库。例如,我很少为自己的脚本编写测试。设置测试需要时间,使用固定装置设置集成测试需要更多时间。

同时,快速反馈【我爱线报网】非常重要,甚至比常规编程更重要。我通过一种方式来快速设置和执行脚本。

代码是否方便理解也无关紧要。这些程序都很小,如果你无法理解代码,完全可以重写。如果需要扩展,也可以“适当地”重写。

对于脚本中应该使用多少第三方依赖项,我有点纠结。有时,第三方库确实很有帮助,但是你需要花时间学习和了解,而且许多第三方库的文档都很糟糕。我认为,能够弥补语言本身缺陷的依赖是好的,但是你为了逃避学习而选用某些库就不太正确。我用 click 制作了一个 Python 工具,很快就后悔了。

工具的选择

关系到工具选择的因素有下面几个。如果我们想尽可能快速地写出一个完整的程序,就应该选择简洁而富有表现力的语言。简洁的语言更容易【我爱线报网】调整,因为你需要修改的字符更少。样板代码则是负面因素。

动态语言具有一定的优势。运行时错误比静态错误更好。如果程序在执行第 20 行代码时出现类型错误,那么运行时故障仍会执行第 1~19 行,这就可以为你提供这些代码能否正常工作的信息。

一个同样重要的因素:选择适合的领域。这取决于需要自动化的任务。有些语言有很好的内置函数,有些语言恰好有很好的库。有时,最好的工具不是编程语言。最近,我遇到了一个任务:抓取谷歌地图上 100 个街道地址的 url,我采用了 Power Automate。PA 是一款有点糟糕的工具,但它有良好的浏览器自动化技术,非常适合这项任务。此外,它在 Windows 11 中是【我爱线报网】免费提供的。所以,最终我们只用了半个小时就完成了任务。

此外,我还用正则表达式、shell(特别是 PowerShell)以及电子表格解决了很多问题。

其他注意事项:一个好的 CLI 库是必须的。拥有一个良好的 GUI 框架固然很好,但不那么重要。你需要保证能够运行单个文件,并且能够使用调试器。如果条件允许,还可以考虑使用非常友好的 Copilot。

摊销

摊销指的是,算法有一些昂贵的操作和许多开销低廉的操作,因此整体运行时间低于你的预期。例如,向数组追加元素的开销是 O(1),即使有时你需要花费O(n) 来调整数组的大小,整体开销依然是 O(1),因为这种情况很少发生。

对于此处讨论的问题来说,摊销指【我爱线报网】的是,为编写脚本投入的时间可以加快将来编写脚本的速度。这对于提高技能非常重要,因此我们应该详细讨论一下。首先,熟练之后能减少查找信息的时间。

通过搜索引擎查找信息需要花费很多时间。在软件工程中,这点时间开销并不重要,因为我们的大部分时间都花在阅读上,但是现在你需要快速编写程序。将信息移动到本地缓存(文本文件、注释)很好,如果你已经掌握了这些信息,那就更好了。

此外,编写脚本会生成可供你复制粘贴的代码片段。我制作第一款应用时花了很多时间,但后面的应用编写速度明显加快,因为我可以复制粘贴已有的代码。至少,在不同的脚本中查找某些代码的速度比上网搜索更快。

编写脚本会让你接触到语言中极具表现力的黑魔法,例如【我爱线报网】宏和元编程。你知道将哪些代码放入团队维护的代码库中是很糟糕的?但是,这些黑魔法非常适合快速编写脚本,一旦你学会了如何使用这些黑魔法就会事半功倍。

因此,真正掌握一门语言有很大的好处,同时了解许多不同的工具也有好处。

回报

在美国芝加哥,每逢芝加哥小熊队主场的棒球联赛,乘坐地铁红线就是噩梦。所以我编写了一个 lambda 脚本来提醒自己。这个脚本真的可以改善我的生活吗?可以。如果需要三个小时才能写这样一个脚本,我还会写吗?可能不会。

给力项目吾爱网创会员可免费下载 加入会员
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:1059819594 站长微信:qgzmt2
温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
行业资讯

fil算力产出(黑化版的家用算力服务器HomeLab)

2024-5-13 13:30:56

行业资讯

卡地亚钉子镯子(短短3年,卡地亚钉子手镯凭什么能火?)

2024-5-13 13:52:18

近期部分课程提取码提示错误的,一般为8888或9999
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索