カテゴリー
技術

オープンソースプロジェクト内のTODO個数調査

マーティン・シュライスさん(Martin Schleiss)がブログで公開したのが、Linux をはじめとする巨大オープンソースプロジェクトのソースコードにおける「やらないといけない」あるいは「後で考える」マークである“TODO”の個数の移り変わりをグラフ化したものです。

基本的には、プロジェクトの年月が重なるほど、コードに書かれた TODO の個数は増えていくようです。上の PHP のグラフでは、メジャーリリースや通常リリースの時期の少し前に TODO が増えているようにも見えます。

プロジェクトによっては単調増加ではないものも。Rust は TODO の個数自体が少ないように見えるし、途中で数個まで減っている時期もあるので、意識的に TODO の解消を目指したりしていたのかもしれません。

Next.js 、version 10 と 10.1 のどちらのリリース時期でもなく、突然増えています。

ブログ記事では言語処理系やライブラリなど、有名なもの20個弱についてグラフ化されています。

プロジェクトの規模、歴史の長さによってもTODO の個数は変わりますが、規模や歴史と無関係に多い少ないもあったりもします。シュライスさんはTODO が有ることはどのオープンソースプロジェクトにおいても貢献をする余地があるということだ、と言っています。あなたが良く使っているツール/ライブラリのTODO は増えているでしょうか?

カテゴリー
情報共有ツール

Toodles – ソースコード内コメント中の ToDo を集めてやるべきTodoリストを一覧、更新できるwebツール

Toodles は、ソースコード中に書かれたコメントの ToDo を収集し、次やるべきことを可視化してくれるというオープンソースのwebアプリです。

ツール自身への入力として、Toodles 自体のソースコードを使いましたが、それとは別に適当なソースコードに ToDo コメントを仕込んで、一緒に読ませてみました。


var MAX_HEIGHT = 320;
var SQUARE_SIZE = 150;
var thumbnailBucket = process.env.DESTINATION_BUCKET_NAME;

// TODO (hoge|p=8|#js|#test|#newTag) - アレをナニしないといけない
exports.handler = function(event, context, callback) {
var originalBucket = event.Records[0].s3.bucket.name;
var key = event.Records[0].s3.object.key;

ソースコードとして指定したディレクトリ以下で、対応しているプログラミング言語(readme に一覧が載っていますが、主要なプログラミング言語やシェルスクリプト、yamlファイルなどをサポートしています)のファイルをすべて解析して、ToDo リストを更新してくれます。

また、Webアプリ側からもToDo を消したり、優先度やタグなどを更新したりでき、その結果は元のソースコード側にもちゃんと反映されます。

コメント内の ToDo の表記で、担当者、タグ、優先度などとコメントを書くことができ、webアプリ上ではそれらを使って ToDo を絞り込んだり、ソートしたりもできます。

Toodles は Haskell で書かれていて、GitHub でソースコードが公開されています。

# Haskell の環境が無かったので、Docker で動かしましたが、Stack でのアプリのインストールにかなりメモリが必要で、Docker が使えるメモリを2Gb→3Gbにしてやっと動きました。

巨大なプロジェクトの ToDo をこれで管理するのはさすがに難しいかと思いますが、個人レベルのちょっとしたのプロジェクトなんかだと、別管理することでむしろソースコードと issues の対応が取れなくなってしまうこともあるし、ソースコード内で ToDo 管理してしまうというこういうアプローチも、回る場合もあるのかもしれません。

via Hacker News

カテゴリー
fun

[動画] Procrastination(ぐずぐず先延ばし)も、ここまでされれば取り掛かる?

仕事や勉強で取り掛からないといけないはずのことをなかなか着手できずに先延ばしすることを、英語で procrastination と言います。「どうしたら他の事に気をとられずにやるべきタスクに取り掛かれるか」というのはライフハック系のブログで常に人気の取れる記事のようですが、それだけ、なかなか取り掛かれないという人が多いんでしょうね。

I’m busy というこの動画は、そんなサボりぐせと闘う自分を表現した、という Carmel Gatchalian さんの作品。

昔のMacOS風デザインのパソコンにログインしたユーザーが、”You have 36 tasks due tomorrow.”(明日締め切りの36個のタスクがあります) や “You have 7 overdue tasks.”(期限の切れたタスクが7つあります) という通知が出ているのにも関わらず、音楽プレイヤーを起動して音楽を聴き始めたりしてしまいます。

procrastination-tasks

音楽アプリの上にも再度通知が表示されるのですが、それも無視して今度は Tumblr 風のアプリを起動。それも邪魔されると、ゲームを起動、と、タスク管理からの通知を無視しながら、強力に「仕事は始めないぞ」という意思を示すユーザーに、通知の方もどんどんエスカレートしていき…

本当にここまでしてくれる通知機能があれば、サボらずに仕事を始められるかもしれませんね。

via Vimeo’s staff pick