💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 练习 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 中计算运行图的中线。 ## 深入学习 如果你真的想要一个正确的运行图,还需要计算你的数值的标准差。现在不需要,但如果你想要极其准确的,那么这是有帮助的。