-
googleappsscri
- 1803
- 3
- 0
- 0
![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
JAVAでは、1クラス1ファイルだそうで、大規模なアプリケーションでは、数千ファイル単位になるそう。 それだと、たしかにフォルダ、みたいな機能が必要ですよね。 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:46:41![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Javaは数千のファイルがあるので、パッケージ化することは必然。 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:46:43![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
パッケージの目的はまとめること #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会 Javaは1クラス1ファイルなので、1000ファイルくらいになることもあるので大事。
2022-02-12 21:47:06![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
『クラスをまとめる仕組みがパッケージ。Javaで開発する量はJava開発の人に聞くと数千くらいの量になるので、必然的に必要になったのだろう』 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:47:13![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
例外処理がなかった時代は・・・ エラーコードを返していた。 つまり、サブルーチンの呼び出し側は、かならずエラーコードの処理コードを記載していないといけない。 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:47:59![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
『GASだと標準ではできない。claspとnmpを使えばできるよう。』 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:48:04![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
しかも、そのエラー処理の記述の強制は、サブルーチンチェーンの上層まで続くので、非常に煩雑 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:48:37![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
例外がなかったときの処理 問題点1:エラーコードの判定をアプリケーションですべて処理しなければならない、 問題点2:エラーコードの判定ロジックが複数のサブルーチンの連鎖する #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:49:21![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
つながりのあるサブルーチンにそれぞれエラー処理しないと最後までつながらない →例外処理で対応できるようになった #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:49:39![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
『以前はサブルーチンごとにエラーを検出してエラーコードをリターンさせていた。』 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:51:05![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
『例外処理を実現させているのがコールスタック。コールスタックとは、関数を呼び出すごとに用意されるメモリ上のデータのこと。』 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:53:09![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
『コールスタックの仕組みがあるため、どの階層でエラーが起こったとしてもどこでどんなエラーが起きたのかを知らせることができる。これをコールスタッキングという。』 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:54:27![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
コールスタックの仕組み #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会 関数ごとに呼び出される毎に作られる関数のスタック
2022-02-12 21:54:39![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
GASでよく見るのはこんな感じ #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会 pic.twitter.com/D5J0ywxIZg
2022-02-12 21:54:39![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
コールスタックは、関数実行ごとに、メモリ領域が確保される。 そして、そのメモリには、戻り値の「戻り場所」(◯行目)という情報も格納されている。 だから、エラーがあると、関数の呼び出しチェーンのどこでエラーがあったのか判定できる。 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:55:01![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
『コールスタックに保管できるメモリ量は決まっていて、上限を超えるとコールスタックオーバーのエラーになる』 #ノンプロ研 #オブジェクト指向でなぜつくるのか輪読会
2022-02-12 21:55:06