Difference between revisions of "How To Help Developing Lazarus/ja"

From Lazarus wiki
Jump to navigationJump to search
m (→‎劣化、品質の低下に対応する: Remove defunct reference to git mirror)
 
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{How To Help Developing Lazarus}}
 
{{How To Help Developing Lazarus}}
  
== lazarus で開発する際に用意するもの ==
+
{{Japanese Menu}}
  
次の2点があります:
+
== Lazarus自体の開発に用意するもの ==
 +
 
 +
次の2点が必要です:
 
*最新のFreePascal コンパイラ(FPC)もしくは最近のSVNバージョン(最も新しいもの)を入手して下さい。FPC を入手するには、[http://www.freepascal.org/download.html FreePascal download]を参照して下さい。
 
*最新のFreePascal コンパイラ(FPC)もしくは最近のSVNバージョン(最も新しいもの)を入手して下さい。FPC を入手するには、[http://www.freepascal.org/download.html FreePascal download]を参照して下さい。
  
 
*次にSVNから最も新しいLazarusを入手する必要があります。これを入手するには、[[Getting_Lazarus#Via_SVN|Getting Lazarus via SVN]]を参照して下さい。
 
*次にSVNから最も新しいLazarusを入手する必要があります。これを入手するには、[[Getting_Lazarus#Via_SVN|Getting Lazarus via SVN]]を参照して下さい。
  
== Development areas ==
+
== 開発する場所 ==
  
最新の Lazarus を入手し、準備が整ったけれども、“さて何から手を付けたらいいの?”という時に参照してください。
+
最新の Lazarus を入手して開発の準備が整えました。けれども、“さて何から手を付けたらいいの?”という時に下記を参照してください。
  
 
=== 既知のバグ ===
 
=== 既知のバグ ===
もしLazarosについて特別な問題がなく単に助けが欲しいだけなら、バグリスト [http://www.lazarus.freepascal.org/mantis/main_page.php Bug Tracker]の参照を推奨します。ここなら該当するバグを見つけてフィックスしたり、ハッキングする事ができます。Lazarusチームは、[[Road_To_1.0/ja|1.0 に向けて]]で公開されたバグに優先順位を決めます。
+
もしLazarusについて個人的に特別な問題がなく、単に手助けしたいなら、バグリスト [http://www.lazarus.freepascal.org/mantis/main_page.php Bug Tracker]の参照を推奨します。ここなら該当するバグを見つけてフィックスしたり、ハッキングする事ができます。
 +
Lazarusチームは、[[Road_To_1.0/ja|1.0 に向けて]]で公開されたバグに優先順位を決めています。
  
 
=== ドキュメンテーション ===
 
=== ドキュメンテーション ===
Lazarus はより多くのドキュメントを必要としています!もしバグを修正する作業を望まないのであれば、ドキュメントを書くことによって貢献することが出来ます。まさにこのページは作業が進行中です。利用価値のある情報を加えたり、間違いを見つけたら、このページのコンテンツを自由に改善してください。
+
Lazarus はより多くのドキュメントを必要としています。もしバグを修正する作業を望まないなら、ドキュメントを書くことによって貢献することも出来ます。まさにこのページは作業が進行中です。
 +
利用価値のある情報を加えたり、間違いを見つけたら、このページのコンテンツを自由に改善してください。
  
 
[[Lazarus Documentation Editor/ja|Lazarus文書エディタ]] と[[LCL Documentation Roadmap/ja|LCLに関する文書のロードマップ]]には、ドキュメント作成の手順とドキュメント化された項目のリストがありますので参照して下さい。
 
[[Lazarus Documentation Editor/ja|Lazarus文書エディタ]] と[[LCL Documentation Roadmap/ja|LCLに関する文書のロードマップ]]には、ドキュメント作成の手順とドキュメント化された項目のリストがありますので参照して下さい。
Line 24: Line 28:
  
 
=== IDE ===
 
=== IDE ===
次のリンクを参照して下さい: [[Extending the IDE/ja]], [[Road To 1.0/ja|バージョン1.0に向けて]].
+
次のリンクを参照して下さい: [[Extending the IDE/ja]], [[Road To 1.0/ja|1.0に向けて]].
 +
 
 +
=== ウイジェットセット ("interfaces") ===
 +
 
 +
ウイジェットセット(WS) はターゲットから独立しているLCLコードの部分と、ターゲットOSのためのコードを生成するための"グルーコード (訳注:glue code オブザーバーパターンを実装したり、置換するコードのことか?)" です。
 +
サポートされているそれぞれのOSでは、依存しているWSのユニットは C:\Lazarus\lcl\interfaces\.
 +
の中で見ることができます。
 +
 
 +
MattiasがLazarusメーリングリストに2006-07-15に提示したものによるとWSを改善するには、下記が、コードを追う際にフォローすべき概要です。WSに変更を加えるとき、変更の結果をたしかめるのに、(IDEに含まれるLazarusなど)すべてをリビルドする必要はありません。次のようにしてください:<br>
 +
 
 +
 
 +
* テストするプロジェクトを作成します。(WSの変更のテストコードを含む小さいプログラムをつくります)
 +
* 'Build Lazarus'と'Configure Build Lazarus' のためのキーボードショートカットを作ります。
 +
  (IDEで Editor Options / Keymappingを選択);
 +
<u>'''繰り返します'''</u>
 +
  * LCLのみをビルドするように"Build Lazarus"を設定します。
 +
  (IDEで Tools/Configure "Build Lazarus"を選択);
 +
  <u>'''繰り返します'''</u>
 +
  * WSコードに変更を加えます。
 +
  * Build Lazarus (IDEで Tools/Build Lazarus を選択
 +
    - これはLCLと選択されたWSのみリビルドします。)
 +
  * テスト用のプロジェクトをコンパイルします。
 +
  * プログラムを実行してデバッグします。
 +
  <u>'''エラーがでなくなるまで繰り返します'''</u>
 +
  * "Build Lazarus"をすべてビルドするように再設定します。
 +
    (IDEで再び Tools/Configure "Build Lazarus"を選択);
 +
  * LazarusをビルドしてIDEをテストします。
 +
<u>'''IDEで変更したコードのよるエラーやでグレーションがなくなるまで繰り返します'''</u>
 +
* パッチを作って送ります
 +
 
 +
== あなたの修正や変更を反映する方法 ==
 +
 
 +
[[Creating A Patch/ja]]をみて、パッチを作成してください。
 +
Lazarusの開発者にあなたのパッチを反映させる良い方法は、バグトラッカーに問題点のページをつくり、そこにパッチを添付することです。他の方法としては、Lazarusの開発者用のメーリングリストに投稿する方法があります。[mailto:patch@lazarus.dommelstein.net patch@lazarus.dommelstein.net] へ送ってください。(タイトルに必ず "patch"をいれてください。また、最大40Kbまでです)
 +
 
 +
== 劣化、品質の低下に対応する ==
 +
 
 +
Lazarusソースコードは以前動いていたものが、時間がたつにつれ、動かなくなるかもしれません。
 +
こういった場合、問題の解決に手がかりがないことがありますが、どのリビジョンで問題が発生したのか繰り返しレビジョンを調べていくことができます。
 +
 
 +
この方法はシンプルですが、次の点を考慮する必要があります:
 +
 
 +
レビジョン番号1000から5000の間で発生しているとすると、3000で一度テストしてみます。
 +
テストは、svnのコード、ターゲットとしているlclで、テストができるコードでおこないます。
 +
もし、テストがうまくいくなら、次は3000と5000の間で、うまくいかないなら、1000と3000の間で、というふうにします。
 +
 
 +
何度かすると、どのリビジョンの変更部分が問題を発生させたかを、切り分けることができます。
 +
これにより、問題の解決をより簡単なものにできます。
 +
何が原因で品質低下をまねいたかはっきりできれば、Lazarusの開発者達にこの問題の再現やバグレポートなどを書くことができます。
 +
 
 +
それぞれのリビジョンが、どのソースコードなどの変更に対応するかを調べるため、[http://svn.freepascal.org/cgi-bin/viewvc.cgi/?root=lazarus Lazarus svn browser (ViewVC)]を使うことができます。調べるリビジョンの間の間隔が比較的すくない(25くらい)になってくれば、ViewVCでチェックするのがより速くなり、最後は問題となりそうな部分を特定することが早く可能になります。
 +
 
 +
特定のリビジョンは次のコマンドで入手できます。
 +
 
 +
svn update -r <revision number>
 +
 
 +
 
 +
'''注意点'''もし、インターネットの接続が遅かったり、不安定だったりするならば、いろんなバージョンのリビジョンをSubVersionから取得するのは、時間やコストがかかります。それらは、インターネットからダウンロードされるからです。
 +
 
 +
=== 品質低下を自動的に探す ===
 +
 
 +
==== SubVersion ====
 +
Florianは、こういった品質低下によるエラーを発見する助けになる簡単なunix scriptをかきました。
 +
このスクリプトはこちらです。
 +
[http://svn.freepascal.org/cgi-bin/viewvc.cgi/scripts/florian/unix/searchrev?view=markup&root=fpcbuild searchrev].
 +
 
 +
==== Git mirrors ====
 +
Gitには 品質低下のバグを探すのに役立つ''bisect'' というコマンドがあります。
 +
これは、自動化されたテストをサポートします。小さなテストケースを書いて、Gitにそれぞれのリビジョンにバグの可能性があるかどうかを調べさせることができます。この自動切り分けにより、品質低下バグは数秒で見つかるかもしれません。''git bisect''コマンドについての詳しい情報は、[http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#using-bisect Git User Manual] を見てください。
 +
 
 +
== 手助けが必要なときは ==
  
=== Widgetsets ("interfaces") ===
+
もし、疑問や質問があれば、次で質問することができます。
 +
* The Lazarus メーリングリスト(英語) (see [http://www.lazarus.freepascal.org/modules.php?op=modload&name=StaticPage&file=index&sURL=maill Mailing list])  
 +
* The #lazarus-ide IRC チャンネル on irc.freenode.net.
  
A widgetset (WS) is the "glue code" between the LCL code parts that are independent of the target operating system and the target operating system itself. For each supported target OS, the corresponding WS units are to be found in one of the subdirectories under the C:\Lazarus\lcl\interfaces\.
+
==関連項目==
  
Here is an outline of the steps one should follow, in order to improve a widgetset (description provided by Mattias Gärtner on the Lazarus mailing list on 2006-07-15). When making changes to a WS, it is not necessary to rebuild everything (Lazarus including the IDE), in order to test the efects of the changes. Proceed as follows:<br>
+
* [[Lazarus Development Process]]
  
* Create your testbed project (a small program
+
[[Category:Lazarus/ja]]
  which should contain the testing code for your WS changes);
+
[[Category:Community/ja]]
* Setup the keyboard shortcuts for 'Build Lazarus' and 'Configure Build Lazarus'
 
  (in IDE, go to Editor Options/Keymapping);
 
<u>'''repeat'''</u>
 
  * Configure "Build Lazarus" to only build the LCL
 
  (in IDE, go to Tools/Configure "Build Lazarus");
 
  <u>'''repeat'''</u>
 
  * Make your improvement in the WS code;
 
  * Build Lazarus (in IDE, go to Tools/Build Lazarus
 
    - this only rebuilds the LCL, which rebuilds also the selected WS);
 
  * Now compile your testbed project;
 
  * Run and debug your program;
 
  <u>'''until'''</u> no errors are found in your change;
 
  * Reconfigure "Build Lazarus" to build all
 
    (in IDE, go again to Tools/Configure "Build Lazarus");
 
  * Build Lazarus and test the IDE;
 
<u>'''until'''</u> no errors/degradation due to your changes are found in IDE;
 
* Create a patch and send it (see further below for details).
 

Latest revision as of 08:05, 15 January 2022

Deutsch (de) English (en) español (es) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報

Lazarus自体の開発に用意するもの

次の2点が必要です:

  • 最新のFreePascal コンパイラ(FPC)もしくは最近のSVNバージョン(最も新しいもの)を入手して下さい。FPC を入手するには、FreePascal downloadを参照して下さい。
  • 次にSVNから最も新しいLazarusを入手する必要があります。これを入手するには、Getting Lazarus via SVNを参照して下さい。

開発する場所

最新の Lazarus を入手して開発の準備が整えました。けれども、“さて何から手を付けたらいいの?”という時に下記を参照してください。

既知のバグ

もしLazarusについて個人的に特別な問題がなく、単に手助けしたいなら、バグリスト Bug Trackerの参照を推奨します。ここなら該当するバグを見つけてフィックスしたり、ハッキングする事ができます。 Lazarusチームは、1.0 に向けてで公開されたバグに優先順位を決めています。

ドキュメンテーション

Lazarus はより多くのドキュメントを必要としています。もしバグを修正する作業を望まないなら、ドキュメントを書くことによって貢献することも出来ます。まさにこのページは作業が進行中です。 利用価値のある情報を加えたり、間違いを見つけたら、このページのコンテンツを自由に改善してください。

Lazarus文書エディタLCLに関する文書のロードマップには、ドキュメント作成の手順とドキュメント化された項目のリストがありますので参照して下さい。

オンラインIDEヘルプは、Wiki の一部として時間が経つにつれ作成されていきます。 最近、IDE ウィンドウに関する Lazarus IDE/ja ドキュメントの多数のページが追加されました。IDEの作業の際、ヘルプが必要になればF1キーを押してください。Wikiページからヘルプを参照することが出来ます(まだ作成されていなかったり、不完全だったりする場合があります)。適切な知識をお持ちであれば改善して下さい。

IDE

次のリンクを参照して下さい: Extending the IDE/ja, 1.0に向けて.

ウイジェットセット ("interfaces")

ウイジェットセット(WS) はターゲットから独立しているLCLコードの部分と、ターゲットOSのためのコードを生成するための"グルーコード (訳注:glue code オブザーバーパターンを実装したり、置換するコードのことか?)" です。 サポートされているそれぞれのOSでは、依存しているWSのユニットは C:\Lazarus\lcl\interfaces\. の中で見ることができます。

MattiasがLazarusメーリングリストに2006-07-15に提示したものによるとWSを改善するには、下記が、コードを追う際にフォローすべき概要です。WSに変更を加えるとき、変更の結果をたしかめるのに、(IDEに含まれるLazarusなど)すべてをリビルドする必要はありません。次のようにしてください:


* テストするプロジェクトを作成します。(WSの変更のテストコードを含む小さいプログラムをつくります)
* 'Build Lazarus'と'Configure Build Lazarus' のためのキーボードショートカットを作ります。
  (IDEで Editor Options / Keymappingを選択);
繰り返します
 * LCLのみをビルドするように"Build Lazarus"を設定します。
  (IDEで Tools/Configure "Build Lazarus"を選択);
 繰り返します
  * WSコードに変更を加えます。
  * Build Lazarus (IDEで Tools/Build Lazarus を選択
    - これはLCLと選択されたWSのみリビルドします。)
  * テスト用のプロジェクトをコンパイルします。
  * プログラムを実行してデバッグします。
 エラーがでなくなるまで繰り返します 
 * "Build Lazarus"をすべてビルドするように再設定します。
   (IDEで再び Tools/Configure "Build Lazarus"を選択);
 * LazarusをビルドしてIDEをテストします。
IDEで変更したコードのよるエラーやでグレーションがなくなるまで繰り返します 
* パッチを作って送ります

あなたの修正や変更を反映する方法

Creating A Patch/jaをみて、パッチを作成してください。 Lazarusの開発者にあなたのパッチを反映させる良い方法は、バグトラッカーに問題点のページをつくり、そこにパッチを添付することです。他の方法としては、Lazarusの開発者用のメーリングリストに投稿する方法があります。patch@lazarus.dommelstein.net へ送ってください。(タイトルに必ず "patch"をいれてください。また、最大40Kbまでです)

劣化、品質の低下に対応する

Lazarusソースコードは以前動いていたものが、時間がたつにつれ、動かなくなるかもしれません。 こういった場合、問題の解決に手がかりがないことがありますが、どのリビジョンで問題が発生したのか繰り返しレビジョンを調べていくことができます。

この方法はシンプルですが、次の点を考慮する必要があります:

レビジョン番号1000から5000の間で発生しているとすると、3000で一度テストしてみます。 テストは、svnのコード、ターゲットとしているlclで、テストができるコードでおこないます。 もし、テストがうまくいくなら、次は3000と5000の間で、うまくいかないなら、1000と3000の間で、というふうにします。

何度かすると、どのリビジョンの変更部分が問題を発生させたかを、切り分けることができます。 これにより、問題の解決をより簡単なものにできます。 何が原因で品質低下をまねいたかはっきりできれば、Lazarusの開発者達にこの問題の再現やバグレポートなどを書くことができます。

それぞれのリビジョンが、どのソースコードなどの変更に対応するかを調べるため、Lazarus svn browser (ViewVC)を使うことができます。調べるリビジョンの間の間隔が比較的すくない(25くらい)になってくれば、ViewVCでチェックするのがより速くなり、最後は問題となりそうな部分を特定することが早く可能になります。

特定のリビジョンは次のコマンドで入手できます。

svn update -r <revision number>


注意点もし、インターネットの接続が遅かったり、不安定だったりするならば、いろんなバージョンのリビジョンをSubVersionから取得するのは、時間やコストがかかります。それらは、インターネットからダウンロードされるからです。

品質低下を自動的に探す

SubVersion

Florianは、こういった品質低下によるエラーを発見する助けになる簡単なunix scriptをかきました。 このスクリプトはこちらです。 searchrev.

Git mirrors

Gitには 品質低下のバグを探すのに役立つbisect というコマンドがあります。 これは、自動化されたテストをサポートします。小さなテストケースを書いて、Gitにそれぞれのリビジョンにバグの可能性があるかどうかを調べさせることができます。この自動切り分けにより、品質低下バグは数秒で見つかるかもしれません。git bisectコマンドについての詳しい情報は、Git User Manual を見てください。

手助けが必要なときは

もし、疑問や質問があれば、次で質問することができます。

  • The Lazarus メーリングリスト(英語) (see Mailing list)
  • The #lazarus-ide IRC チャンネル on irc.freenode.net.

関連項目