答复: 有关提案 foldcolumn 的一些疑问
- From: "lishen" <lishen csdn net>
- To: "'Weiwu Zhang'" <zhangweiwu realss com>, "'Chunyang Xu'" <xuchunyang56 gmail com>
- Cc: 'gnome-cn-list' <gnome-cn-list gnome org>, yinliang csdn net
- Subject: 答复: 有关提案 foldcolumn 的一些疑问
- Date: Mon, 16 Jun 2014 20:22:43 +0800
辛苦Weiwu
有你这样一封邮件,我们充分相信你是个负责任的好导师!祝能找到合适的营员,祝提案完成顺利:)
B.R
Shen
-----邮件原件-----
发件人: Weiwu Zhang [mailto:zhangweiwu realss com]
发送时间: 2014年6月15日 16:10
收件人: Chunyang Xu
抄送: gnome-cn-list; fracting gmail com; lishen csdn net; yinliang csdn net
主题: Re: 有关提案 foldcolumn 的一些疑问
Zhang Weiwu wrote:
On Thu, 12 Jun 2014, Chunyang Xu wrote:
2. 你觉得工作量是否偏小?(用两个月写一个 CLI 小工具,叫人提不起劲来。
也许会。
这事CSDN方面也跟我联系过,觉得项目定义得太小。本信就抄送给 CSDN 诸位。
我咨询了当过GSoC导师的朋友,说项目一般都是2个月实现标称功能,但是结果,上游
不能用的。夏令营过去了,好的学生会花半年左右的时间使代码进入上游,这半年做
两项工作,一是整理代码质量,直到上游肯要,二是对需求有更深了解后,有很多不改
不行的地方。当然对于只想在简历上加红花的实习学生,红花已经拿到,这后面半年的
工作就不做啦,结果是GSoC的完成率虽然高,上游接受率却不令人满意。导师有的熟悉
这种情况,但是自己手上事忙,不便微管理,有时候也放任了项目做完却不要的情况。
“所以,如果项目太小,只需要具体化项目需求,把后面半年的工作提前到暑期就可以
了。这样导师也轻松一些,不用置身于要不要擦屁股补完工作的困难决定中。”
我听了这个建议,于是对项目做了一个具体化的需求,就是修改了完成标准。新标准是:
常见的标准有:比如需要做出测试数据,包含一批特殊的测试情况(特别长的
输入流),以及良好文档,这里就不多说了。作为 CSDN 2个月实习项目的
一部分,这里定一个加强的目标:
完成3个(其它)开源项目的表格输出patch,将patch送到需要它的上游去。
具体上游收不收的问题,我们将在实习期协同解决,俾使对解决此问题有兴趣
的项目考虑这些patch,以及学生所协助的项目正好是其感兴趣有希望长期与
之合作的一些项目。应该需要此类解决方案的其它开源项目清单(不全)如下
- 数据库工具,比如mysql client,sqlite。经常在命令行上操作数据库的
DBA, 对于这种SELECT语句输出不能表格内换行的制肘情况是深有体会的。
- 文件类的命令,比如ls *, wc *, file *. 另外,ftp客户端的ls输出是
服务器端ftpd实现的,ftpd又可能用的是系统的ls命令, 对于不用系统
ls命令的ftpd,也有这类需求。smbclient也会用得着它。
- 压缩包管理命令。比如unrar/unzip经常用于显示包内的文件,各文件
分别在哪个卷,每个文件的压缩率。
- 进程管理命令,比如ps, htop, iotop
- 电子表格软件的“另存为”功能,用于直接存为良好格式化的表格。
- 操作文件metadata的软件。
我这里解释一下,这个提案制做时,就是为了解决常见的终端表格格式化需求,而非仅
制做一个工具。但是提案草稿原是为了一个较小竞赛准备的,故没有细化这需求。(可
惜的是虽然是简化的需求,在那个小竞赛里竟然无人能做出来。)因为细到这种程度,
就有必要说明这样的需求确实存在。如下是说明:
------------------------------------------------------------------------
对表格类数据在命令行输出,是一项常见的需求,但是实际项目中,遇到这个需求,
无一例外,均是凑合处理的。
最常用的凑合办法,是不管实际终端的行数,硬是按必要的宽阔输出。比如,如果目
录中有一个文件的文件名是1000字符宽,那么ls(1)均按这个宽度输出所有文件名。
或者按最长可能字段来输出,SQL客户端是这样处理的。经常在命令行上操作数据库的
DBA, 对于这种SELECT语句输出不能表格内换行的制肘情况是深有体会的。现在哪个
DBA敢于在命令行直接使用 SELECT * ?即使是表格数据量小,也是不敢的。
其次常见的凑合办法,是剪去超过指定行宽的字符。比如:
$ search music
Reading installed packages...
S | Name | Summary | Type
--+-----------------------+-----------------------------------------+-----------
| asc-music | Music for Advanced Strategic Command--> | package
| libmusicbrainz | Library That Provides Access to the M-> | srcpackage
| libmusicbrainz-devel | Include Files and Libraries Mandatory-> | package
| libmusicbrainz3 | Library That Provides Access to the M-> | srcpackage
| libmusicbrainz3-6 | Library That Provides Access to the M-> | package
| libmusicbrainz3-devel | Library That Provides Access to the M-> | package
i | libmusicbrainz4 | Library That Provides Access to the M-> | package
| texlive-bin-musictex | MusiXTeX and MusicTeX | package
| texlive-musictex | MusiXTeX and MusicTeX | package
注意剪掉之后,很多行看起来是一样的。虽然可以用--no-abbrev/-A选项避免剪去,
但是会导致输出一团乱。
为什么各种命令行输出表格的需求均没有解决好?两个原因。一是正确换行是一件十
分困难的事,不同语言对于什么地方可以换行各有各的规定,为此必须专门做一个
library 来处理。第二个原因,是因为换行加上表格就更困难了。各项目自有自己要操
心的事,没有理由应对这些麻烦。
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]