1
0
mirror of https://github.com/apachecn/lmpythw-zh.git synced 2025-05-28 12:02:19 +00:00
lmpythw-zh/ex10.md
wizardforcel dfcdb59d93 ex10
2017-08-04 16:40:12 +08:00

60 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 练习 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 中计算运行图的中线。
## 深入学习
如果你真的想要一个正确的运行图,还需要计算你的数值的标准差。现在不需要,但如果你想要极其准确的,那么这是有帮助的。