2011-04-21
■ [english] コミットログを英語で書くためのテンプレ
githubに上げるコードは、可能なら英語でコミットログを書いたほうが良いです。なんか面白そうなプロジェクト見つけたとして、コミットログがロシア語とかアラビア語だったら困るよねという話です。
英語とか難しいと思うかも知れないですが、だいたい何か追加したか直したか変更したかのどれかなのでわりとパターン化できます。読めない言語で書かれている場合の可読性=0なので、英単語を適当に並べるだけで可読性が無限大パーセント改善されます。やった!
僕がよく使うのはこんな感じです(英語的に正しいかは知りません)。
- new: xx
- new: added (some) xx
- fix: xx did not work
- fix: xx was wrong
- fix: xx should (not) yy
- changed xx to yy
- removed unused xx
■ [ruby] Wirbでirbを色つけする
Wirbは、irbを機能拡張するWirbleというgemから、色つけ機能だけを取り出して、 ついでにバグも直したライブラリだ。
使い方は~/.irbrcに以下のように書くだけ。
require 'rubygems' # ← Ruby 1.9では不要 require 'wirb' Wirb.start
Wirbleはしばらく使ってたんだけど、Array.methodsとかの:+や:-が「:」になってしまうバグがあって削除してしまった。信用できないデバッグ出力は本当に困るので。
Wirbは:+や:-も正しく出力してくれる。ただし、デフォルトのカラースキームだと、ダブルクオート(")が灰色に割り当てられているので白背景の人は困ると思う。配色はこんな感じで変えられる。
Wirb.schema = {
# container
:open_hash => :light_green,
:close_hash => :light_green,
:open_array => :light_green,
:close_array => :light_green,
:open_set => :green,
:close_set => :green,
:open_enumerator => :green,
:close_enumerator => :green,
# delimiter colors
:comma => :green,
:refers => :green,
# class
:class => :light_green,
:class_separator => :green,
:object_class => :light_green,
# object
:open_object => :green,
:object_description_prefix => :green,
:object_description => :brown,
:object_addr_prefix => :brown_underline,
:object_addr => :brown_underline,
:object_line_prefix => :brown_underline,
:object_line => :brown_underline,
:object_line_number => :brown_underline,
:close_object => :green,
# symbol
:symbol_prefix => :yellow,
:symbol => :yellow,
:open_symbol_string => :brown,
:symbol_string => :yellow,
:close_symbol_string => :brown,
# string
:open_string => :dark_gray,
:string => :dark_gray,
:close_string => :dark_gray,
# regexp
:open_regexp => :light_blue,
:regexp => :dark_gray,
:close_regexp => :light_blue,
:regexp_flags => :light_red,
# number
:number => :cyan,
:range => :red,
:open_rational => :light_cyan,
:rational_separator => :light_cyan,
:close_rational => :light_cyan,
# misc
:keyword => nil, # rename to default?
:nil => :light_red,
:false => :red,
:true => :green,
}
いい感じのができたらWikiに貼ってあげてください。
「changed xx to yy」だけでなく、「何のために変えたか」を書くことが重要ではないかと。<br>英作が億劫で目的を書かないくらいなら、日本語でもなんでもいいからとにかく書いた方がいいと思います。<br>まあ、コミットログがロシア語と知ったら、使う気がしなくなるのも事実ですが。
なるほど>何のために