オブジェクト指向...
TRANSCRIPT
![Page 1: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/1.jpg)
オブジェクト指向プログラミング演習
第12回 コメント・デザインパターン
2019.07.04
![Page 2: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/2.jpg)
今日のお題
⚫ コメント
◆Javadoc によるドキュメントの生成
⚫ デザインパターン(言葉の紹介だけ)
2019.07.04
![Page 3: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/3.jpg)
コメント
⚫ コメントは、プログラムを読みやすくするために入れる
◆読み返したときに、何を考えてソースコードを書いたのかが分かるように
⚫ Java では「ソースコードと同時にドキュメントも書く」という考え方がある
◆ドキュメントに書くべき説明をコメントにする
2019.07.04
![Page 4: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/4.jpg)
Javaのコメントの書き方
コメントには2種類の書き方がある:
⚫ /* と */ で挟まれた部分はコメント
⚫ // から行末までコメント
2019.07.04
![Page 5: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/5.jpg)
javadoc とコメント
Java には、コメントを元に、APIドキュメントを自動生成する仕組みがある
javadoc コマンドを使う → htmlファイルが作られる
… javadoc に対する指示をコメントの中に書く
2019.07.04
![Page 6: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/6.jpg)
Javadoc に反映されるコメント
/** と */ で挟まれた部分は、javadoc に反映される(当然、コメントでもある)
クラスやメソッドの定義の直前にコメントを書く。
コメントに javadoc タグを記述すると、整形されたhtmlに反映される
2019.07.04
![Page 7: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/7.jpg)
代表的な javadoc タグ
@param 引数名 説明
引数を表す。引数一つごとに書く。
@return 説明
返戻値を表す。
2019.07.04
![Page 8: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/8.jpg)
javadoc コメントの例
http://sun.ac.jp/prof/yamagu/2019OOP/Sankaku2.java
に、第2回のプログラム例にコメントを入れたソースコードを置いたjavadoc -charset UTF8 -encoding UTF8 -private Sankaku2.java
を実行すると、
APIドキュメントのようなページが生成される(カレントディレクトリにファイルがたくさんできる)
※-private オプションは、アクセス修飾子を省略したものやprivateのクラス・メソッドなどについても情報を掲載せよという指示
2019.07.04
システムが使う言語を日本語に設定してれば、javadoc -private Sanku2.java
だけでも良い
![Page 9: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/9.jpg)
2019.07.04
デザインパターン
「こういう処理をさせたいときは、こういう
コードを書く」という定型がいくつかある。
⚫ 知っていれば、多少便利
◆ 同じパターンを知っている人にとってはプログラムが読みやすい
◆ パターンに名前がついているので、他人と議論できる
⚫ パターンだけで、すべてのプログラムを書くことはできない
⚫ パターンで書くよりも効率的な方法があるかもしれない
⚫ 使いこなすには応用力が必要
皆さんの課題くらいのサイズの開発では、小さすぎて、デザインパターンが役立つ場面は少ないかな…
デザインパターンを使って書き直すのもリファクタリングの一つ
パターン
![Page 10: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/10.jpg)
最終レポートの構成について
1年次のプログラミング基礎演習のときのレポートに準じ、
A4片面に横書きで記述し、左上一か所をホチキスで留める。
レポートの内容を、以下のように構成すること。
⚫ 表紙(授業名・課題名・提出年月日・学籍番号・氏名)
⚫ 前回からの変更点
⚫ 全体の設計
⚫ プログラムの説明
⚫ 実行結果
⚫ 考察
⚫ 結論
⚫ 感想(書かなくてもよい)
⚫ 参考文献(あれば)
⚫ 付録:ソースコード2019.07.18
前回と同じ部分については、前回レポートの文言をコピーしてもよいが、報告書として完成させるために、きちんと掲載して提出すること。
新たに書く
![Page 11: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/11.jpg)
最終課題に向けた演習時間
各自、自分の課題に向けた
作業をしてください。
2019.07.04
![Page 12: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/12.jpg)
未実装の機能に取り掛かる前にリファクタリングをしよう
プログラムを整理する
→ 手順の考え方・プログラムの書き方を整理
(皆さんの頭の中を整理)
2019.07.04
![Page 13: オブジェクト指向 プログラミング演習sun.ac.jp/prof/yamagu/2019OOP/OOP12.pdfオブジェクト指向 プログラミング演習 第12回コメント・デザインパターン](https://reader034.vdocuments.mx/reader034/viewer/2022051902/5ff2c71d2be8b85239001983/html5/thumbnails/13.jpg)
出席確認演習
今日の最終課題に向けた演習時間中に行ったことを簡単に報告しなさい。
提出方法:[email protected] 宛にメール
提出期限:この時間中(14:30まで)
2019.07.04