無職やめ太郎さんの許可はこれから取ります→相互パクリへ
ある日の会社にて
わて「バイトくん、何してるん?シャボン玉楽しいで?」
バイトくん「何いってるんですか、仕事中ですよ。大概にしてくださいね」
わて「げほげほっ、このシャボン玉液ちょっと美味しい」
バイトくん「・・・」
わて「で、何してるん?」
バイトくん「あー、関数を薄くラッパーして、保守性を高めてるんですよ」
わて「ラッパー?わても好きやで。昔はフロアを沸かしていたもんや。フロアっていうかほんとは風呂なんやけどな」
バイトくん「・・・」
わて「にらまんといてや・・・」
薄くラッパーするってなんなん?
バイトくん「例えばここに Http Request をするライブラリがあるんですね」
const sugoiHttpLibrary = new SugoiHttpLibrary();
const url = 'https://qiita.com';
const response = sugoiHttpLibrary.request('GET', url);
わて「これくらいならわてもなんとなくわかるで。Qiita のサイトにアクセスして Htmlデータをもらってきてるんやろ」
バイトくん「そうです。これで別になんの問題もないんですね」
バイトくん「例えば数ヶ月経って、このライブラリに脆弱性が見つかったりして、使えなくなったりすることもあるじゃないですか」
わて「せやね、、き、、脆弱性が見つかったら大変やもんな!」
バイトくん「・・・そうしたら別のライブラリに変えたりするわけで、こうなるわけです。」
const kashikoiHttpLibrary = new KashikoiHttpLibrary();
const url = 'https://qiita.com';
const response = kashikoiHttpLibrary.getRequest(url);
わて「なるほどな、新しいライブラリに変えたらそうなるな。。。ん?呼び出しメソッドが getRequest
に変わっとるで!」
わて「これ、たくさんの画面があったらどうなるん?全部直さなあかんの?」
バイトくん「そうなんです。それってとても大変じゃないですか」
わて「え、そんなんやってられへんやん。ライブラリ変更手当を会社に請求せなあかんやん。申請めんどいから大変やん」
バイトくん「そんな手当ないですよ。。たくさんの修正が大変なんです。なので薄くラッパーしておくんです」
どうやってラッパーするん?
バイトくん「こうやるんです」
class HttpLibraryWrapper {
const sugoiHttpLibrary = new SugoiHttpLibrary();
function get(url) {
const response = sugoiHttpLibrary.request('GET', url);
return response;
}
}
const httpLibraryWrapper = new HttpLibraryWrapper();
const url = 'https://qiita.com';
const response = httpLibraryWrapper.get(url);
わて「なんか記述長くなってもたやん。こんなんでdopeにライム刻めるん?」
バイトくん「記述が長くなるんですけど、こうすると中身のライブラリ変えた時にはこうなるんです」
class HttpLibraryWrapper {
const kashikoiHttpLibrary = new KashikoiHttpLibrary();
function get(url) {
const response = kashikoiHttpLibrary.getRequest(url);
return response;
}
}
const httpLibraryWrapper = new HttpLibraryWrapper();
const url = 'https://qiita.com';
const response = httpLibraryWrapper.get(url);
わて「なんやて!呼び出し側はまったく変わってへんやん!」
バイトくん「そうです。そうしたらたくさんの画面を直す必要なくなるんですよ」
バイトくん「それにライブラリ側の使い方に癖があったりすると、呼び出し側を一般的なメソッド名にできるメリットもあるんです」
わて「ライブラリによっては変わった使い方するものもあるもんなぁ。それを使いやすくするってこともできるんかあ」
わて「バイトくん、頭ええなぁ、、さすがわてが育てただけあるわぁ」
バイトくん「・・・そうですね、いつも感謝はしてます」
その後
わて「あー、できたで!たくさん画面あったけど、ラッパーしてたからライブラリの入れ替え簡単やったわ!」
バイトくん「お疲れ様です」
わて「ラッパーするって大切やな。保守性が上がることで社内(ハコ)のバイブスもアガったと思うわ、マイメン」
バイトくん「これからうるさくなるな・・・」
〜おしまい〜
スペシャルサンクス
@Yametaro さん
記事の書き方パクらせてもらった。
そして自分は何気ない会話でネタを提供していて、
知らず知らずのうちに相互パクリの状況が完成した。
なんだこれw