练习 10:sort

原文:Exercise 10: sort

译者:飞龙

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

你正在慢慢地构建我所说的个人流程实践(3P),这根本不是一个新的想法。3P 的目的是客观的洞察如何做事情,而避免杀死你的创造力和生产力。通过简单地跟踪小型指标和制作运行图来指导改进,你可以彻底改变你的工作状况。但是,这样做的风险在于,这会阻碍你快速入侵黑客或完成任务,或者你的 3P 的工作量将比你的实际工作更多。

在我的编程生涯中,我这样做了大约四年,并且它很好地让我认识到我自己和我的工作方式。它还切断了流程倡导者推动的许多谎言。我有一个简单的方法,来实际测试一些专家对程序设计的看法是否提高了我的个人生产力。我会说,我所做的唯一错误就是把它看得太重了,在四年时间里我的创造力被扼杀了。

这就是为什么你要在小型的快速 Hack 中,构建你的启动流程和工作环境的概念。只有 45 分钟的情况下,你没有时间收集复杂的指标,以及担心你怎么处理事情。稍后我们将专注于需要集中的实践,你将花费更多的时间并收集稍微更好的指标。当你工作的时候,尝试不让这些指标扼杀你的创造力,流程或快乐。如果你讨厌收集东西,那就不要这样做。找到一种自动化方式,或者提出另一个指标来代替。

对于这个练习,你正在制作完成功能的百分比的运行图表。这意味着在你工作之前,你必须列举在sort命令的所有功能,可以在它的标准手册页中可以找到,然后标记已完成的功能。记住要对它们进行排序,以便你可以完成足够的功能,以及该工具能够实际工作。对于不能实际工作的排序文本的工具,获得90%的分数意味着你实际完成了0%。

完成后,你应该制作每个项目的完成功能的百分比运行图,以便我们在下一个练习中进行分析。

挑战练习

在本练习中,你正在实现sort命令,这是一个非常简单的命令。它需要文本行,并按顺序对它们进行排序。它有相当多的有趣选项,所以你应该阅读mansort页面,来弄清它可以做什么。大多数时候,人们只是使用sort来排序名称列表:

ls | sort

你也可以反向排序:

ls | sort -r

你也可以控制如何排序,例如忽略大小写:

ls | sort -f

或者,你甚至可以执行数值排序:

ls | sort -g

这对于ls的输出可能没有用,除非它们都是数字。

你的工作是尽可能实现这些功能,并跟踪你完成的每个功能。这些都应该在你的实验笔记中,以便以后分析。

研究性学习

  • 你现在已经完成了一些改进的事情吗?尝试搜索并寻找其他人的流程建议。
  • 我们是程序员和代码人。你试图找到能使你更有效率的代码吗?我的朋友 Audrey 和 Danny 有一个名为 cookie-cutter 的项目,你应该查看一下。
  • 你现在应该研究如何计算一组数字的平均值。你将使用它在 Python 中计算运行图的中线。

深入学习

如果你真的想要一个正确的运行图,还需要计算你的数值的标准差。现在不需要,但如果你想要极其准确的,那么这是有帮助的。

笨办法学 Python · 续 练习 10:`sort`相关推荐

  1. 笨办法学 Python · 续 中文版

    笨办法学 Python · 续 中文版 原书:Learn More Python 3 The Hard Way 译者:飞龙 自豪地采用谷歌翻译 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓 ...

  2. 笨办法学 Python · 续 练习 33:解析器

    练习 33:解析器 原文:Exercise 33: Parsers 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 想象一下,你将获得一个巨大的数字列表,你必须将其输入到电子表格 ...

  3. 笨办法学 Python · 续 第二部分:简单的黑魔法

    第二部分:简单的黑魔法 原文:Part II: Quick Hacks 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你有最好的想法,你会打动世界!你会成为一个亿万富豪!你的大 ...

  4. 笨办法学 Python · 续 练习 0:起步

    练习 0:起步 原文:Exercise 0: The Setup 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你需要设置和配置一些工具来学习此书.有可能你已经有了很多这些东西 ...

  5. 笨办法学 Python · 续 练习 52:`moreweb`

    练习 52:moreweb 原文:Exercise 52: moreweb 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 现在,你已经使用 Python http.server ...

  6. 笨办法学 Python · 续 练习 24:URL 快速路由

    练习 24:URL 快速路由 原文:Exercise 24: Fast URL Search 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我们将结束数据结构和算法的部分,并将 ...

  7. 笨办法学 Python · 续 练习 32:扫描器

    练习 32:扫描器 原文:Exercise 32: Scanners 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 我的第一本书在练习 48 中非常偶然涉及到了扫描器,但现在我 ...

  8. 笨办法学 Python · 续 练习 27:`tr`

    练习 27:tr 原文:Exercise 27: tr 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 这个练习是继续学习 TDD(又称"测试优先")风格的开 ...

  9. 笨办法学 Python · 续 第三部分:数据结构

    第三部分:数据结构 原文:Part III: Data Structures 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 你正在以你的方式构建个人流程,它让你以有限的阻碍快速 ...

最新文章

  1. 微软终于想通把Script56文档更新了
  2. Oracle提议将G1作为Java 9的默认垃圾收集器
  3. Toolbar+DrawerLayout
  4. kettle 表输入 显示重复_表输入插件详解
  5. Partition--分区总结
  6. 诗与远方:无题(七十八)- 望天而作
  7. mysql中表的约束,主键外键唯一键
  8. SpringMVC框架----ModelAttribute注解
  9. mysql shell命令和作用_MySQL的一些功能实用的Linux shell脚本分享
  10. 掌握 Linux 调试技术
  11. Letters[Codeforces-43B]
  12. 继电器接触器控制系统应用拓展实践——“玩转”双电机
  13. java.util.LinkedHashMap cannot be cast to
  14. Java面试宝典2018
  15. c语言为什么不能自动free,求大神帮忙看看 为什么cfree没有报错但是就是运行不了...
  16. 好莱坞十大经典动作片
  17. 基于geoserver的伪三维地图制作
  18. 克服低温磁场测量的挑战—高斯计
  19. BZOJ 1933 [Shoi2007]Bookcase 书柜的尺寸 ——动态规划
  20. 小米技术委员能扛起雷军技术立业的大旗吗?

热门文章

  1. FPGA同步复位设计代码
  2. parameter与localparam使用区别
  3. Verilog实现AXI4-Lite源代码
  4. 华为Mate8刷低Android版本,华为mate8怎么刷机 华为mate8刷机方法【图文教程】
  5. STM32F103_步进电机
  6. feign post 传递空值_http中post和get的区别和联系
  7. php pdo 显示二进制,php – 在MySQL PDO中显示警告
  8. 数据结构之内部排序三
  9. Linux 大文件拷贝失败,linux – Rsync失败,“文件太大”
  10. 一个工作了两三年程序员的学习计划