|
From: Masaaki A. <mas...@gm...> - 2011-09-18 11:46:25
|
青柳です。 >>> 青柳さんのGitHubのアカウントを教えてもらえますか? >> >> masaakiaoyagiです。 > > 追加しました! ありがとうございました! >> * 須藤さんの方から英語のMLでYARDへの移行について、方針やvteのソースのようなスタイルに >> 変更されることに異論がないかとか、協力して頂けそうか聞いて頂く > > これについてファイルにまとめてリポジトリに入れてもらってもい > いですか?ファイルは、トップディレクトリにdocument.txtとか > document.rdとかいう名前で作ってもらうといいかなぁと思います。 > メールだけにしか残っていないと後から参照しづらいと思うので。 すみません。 整理した方がいいと思いつつ、まだ出来ていないのですが、変更した規則は以下になります。 === ファイル * 著作権表示を以下の形式とする /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 20XX-20XX Ruby-GNOME2 Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ * 1ファイル=1名前空間(クラスまたはモジュール)とする * そのファイルが対象とする名前空間は、RG_TARGET_NAMESPACEとしてマクロを定義し、 変数名は、m<モジュール名> または c<クラス名> とする (グローバルスコープの場合は、prefixとして rg_ を付ける) 例)Vte::Terminal → cTerminal * ファイル名は rb<名前空間>.c とし、名前空間のネストは - で繋ぐ 例)Vte::Terminal → rbvte-terminal.c === 関数 * rubyからのIFになっている関数名は、rg_<メソッド名> とする (シングルトンメソッドの場合は、rg_s_<メソッド名>、モジュール関数の場合は、rg_m_<メソッド名>) 使用マクロ:RG_DEF_METHOD、RG_DEF_SMETHOD、RG_DEF_MODFUNC * ? 付きメソッドの関数名は、末尾に ? の代わりに _p を付ける 使用マクロ:RG_DEF_METHOD_P、RG_DEF_SMETHOD_P、RG_DEF_MODFUNC_P * ! 付きメソッドの関数名は、末尾に ! の代わりに _bang を付ける 使用マクロ:RG_DEF_METHOD_BANG * 演算子メソッドの関数名は、rg_(|s_|m_)operator_<任意> とする 使用マクロ:RG_DEF_METHOD_OPERATOR、RG_DEF_SMETHOD_OPERATOR、RG_DEF_MODFUNC_OPERATOR === EnumとFlags * 定義はG_DEF_CLASSで行う(G_DEF_CONSTANTSは使わない) * 所属する名前空間は、キャメルケースで分離してパスが最長一致する名前空間とする (ここでのパスとは、Vte::TerminalならVteTerminalとする) 例)VteTerminalCursorBlinkModeの場合 * キャメルケースで分離 Vte, Terminal, Cursor, Blink, Mode * VteTerminalCursorBlink, VteTerminalCursor, VteTerminal と順番にパスが一致する名前空間を探す Vte::Terminalが一致するので、Vte::Terminalに属す * クラス名は所属する名前空間のパスを削除したものとする 例)VteTerminalCursorBlinkMode → CursorBlinkMode > VTEを例にしたチュートリアルみたいなのも含まれていると他の人 > にも手伝ってもらいやすいかなぁと思います。 スタイル変更については、機械的に自分がやってしまう予定でいます。 また、yagi_gnomeはテンプレート生成ツールも兼ねていて、ツールのブラッシュアップをしつつ GTK2系の最新バージョンの実装をしてみようと考えています。 なので、一段落するまではお願いできることがない状態です。 |