From dfcdb59d9362c16e216e95b975b5d2af8092ed99 Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Fri, 4 Aug 2017 16:40:12 +0800 Subject: [PATCH] ex10 --- ex10.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ex10.md diff --git a/ex10.md b/ex10.md new file mode 100644 index 0000000..de8a8ce --- /dev/null +++ b/ex10.md @@ -0,0 +1,59 @@ +# 练习 10:`sort` + +> 原文:[Exercise 10: sort](https://learncodethehardway.org/more-python-book/ex10.html) + +> 译者:[飞龙](https://github.com/wizardforcel) + +> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) + +> 自豪地采用[谷歌翻译](https://translate.google.cn/) + +你正在慢慢地构建我所说的个人流程实践(3P),这根本不是一个新的想法。3P 的目的是客观的洞察如何做事情,而避免杀死你的创造力和生产力。通过简单地跟踪小型指标和制作运行图来指导改进,你可以彻底改变你的工作状况。但是,这样做的风险在于,这会阻碍你快速入侵黑客或完成任务,或者你的 3P 的工作量将比你的实际工作更多。 + +在我的编程生涯中,我这样做了大约四年,并且它很好地让我认识到我自己和我的工作方式。它还切断了流程倡导者推动的许多谎言。我有一个简单的方法,来实际测试一些专家对程序设计的看法是否提高了我的个人生产力。我会说,我所做的唯一错误就是把它看得太重了,在四年时间里我的创造力被扼杀了。 + +这就是为什么你要在小型的快速 Hack 中,构建你的启动流程和工作环境的概念。只有 45 分钟的情况下,你没有时间收集复杂的指标,以及担心你怎么处理事情。稍后我们将专注于需要集中的实践,你将花费更多的时间并收集稍微更好的指标。当你工作的时候,尝试不让这些指标扼杀你的创造力,流程或快乐。如果你讨厌收集东西,那就不要这样做。找到一种自动化方式,或者提出另一个指标来代替。 + +对于这个练习,你正在制作完成功能的百分比的运行图表。这意味着在你工作之前,你必须列举在`sort`命令的所有功能,可以在它的标准手册页中可以找到,然后标记已完成的功能。记住要对它们进行排序,以便你可以完成足够的功能,以及该工具能够实际工作。对于不能实际工作的排序文本的工具,获得90%的分数意味着你实际完成了0%。 + +完成后,你应该制作每个项目的完成功能的百分比运行图,以便我们在下一个练习中进行分析。 + +## 挑战练习 + +在本练习中,你正在实现`sort`命令,这是一个非常简单的命令。它需要文本行,并按顺序对它们进行排序。它有相当多的有趣选项,所以你应该阅读`man`的`sort`页面,来弄清它可以做什么。大多数时候,人们只是使用`sort`来排序名称列表: + +``` +ls | sort +``` + +你也可以反向排序: + +``` +ls | sort -r +``` + +你也可以控制如何排序,例如忽略大小写: + +``` +ls | sort -f +``` + +或者,你甚至可以执行数值排序: + +``` +ls | sort -g +``` + +这对于`ls`的输出可能没有用,除非它们都是数字。 + +你的工作是尽可能实现这些功能,并跟踪你完成的每个功能。这些都应该在你的实验笔记中,以便以后分析。 + +### 研究性学习 + ++ 你现在已经完成了一些改进的事情吗?尝试搜索并寻找其他人的流程建议。 ++ 我们是程序员和代码人。你试图找到能使你更有效率的代码吗?我的朋友 Audrey 和 Danny 有一个名为 cookie-cutter 的项目,你应该查看一下。 ++ 你现在应该研究如何计算一组数字的平均值。你将使用它在 Python 中计算运行图的中线。 + +## 深入学习 + +如果你真的想要一个正确的运行图,还需要计算你的数值的标准差。现在不需要,但如果你想要极其准确的,那么这是有帮助的。