見出し画像

【開発哲学3_13】〜『CODE COMPLETE第2版 第13章(上巻)』の感想〜特殊なデータ型

第3部もこれで終わりー!
まだ実践していない人は、実践するとコードを読むのが飛躍的に効率化できるし、意識して早めに実践した方がいいかな。

感想

Cやレガシー言語にほとんど触れたことがないので、ポインタについてはよくわからなんあ。
そんな苦労があったんだなあくらいなもん。
わかりもしないのに、本章に書かれているラッパールーチンみたいな考え方に触れてわかったつもりになってとやかく書いてもねえ。

構造体は、ここで言うところと厳密には扱いが違うかもしれないけど、SwiftUIがStruct文を基本構造にしているし、Swiftにも出てきた概念だったから入りやすかった。

グローバル変数は、言いたいことはわかる。
けど、どうなんだろうなって感じ。

と言うのも、

前章までに書かれていた

  • 名前付け管理

  • 意味のある変数名

  • ルーチン名

  • オブジェクト名ではなく、モノ名にする

  • マジックナンバー対策

などを実践できていれば、
ひとつの引数名を複数の目的で共用させるなんてこともあまり起きないし、
GASみたいにスコープの中で定義しない引数は全てグローバルになるプログラミング言語もあるしね。

あまりにもひとつの目的にひとつの変数や引数を定義していたら、システムが大きくなればなるほど、管理が大変そう。

ルーチンごとに使う配列や引数を特定のものにしておいて、使い終わったら、その場ですぐにで解放か初期化をしていく方が、無限に増幅しなくて済むし。
(これを意識しないと多分、記憶力ゲームなコーディングになるんじゃないかな?
しかも規約やルール、まとめ資料を随時更新するにしても、その分作業量は増えるし。)
次章以降を読み進めていくうちに、この考えは改まるかもしれないけどね💦

詳細

見出しとしては、

  1. 構造体

  2. ポインタ

  3. グローバルデータ

  4. 参考資料

  5. まとめ

て感じ。
以外の詳細は、感想で書いたとおり。

書いてて思い出したエピソード

「実践できてないじゃーん」
「管理できてないじゃーん」

って思った過去のエピソードを2つほど。

ひとつめ

令和に変わるはるか昔から、当時の職場で。
こういう系の本は、
「全部わかっているから必要ない。」
「もうすでに実践できているわ。」
と言ってた人が圧倒的に多かった。

上皇様(当時の天皇陛下)がご退位なさることが本決まりになった途端に、いざ蓋を開けると、元号をパラメータ化できておらず、

gengou = '平成';
...
nen = ’平成15年’;
...
presentYear = '平成' + now + '年';

みたいな感じで、(多分、全ソースコードだと数千万行はある)大規模なシステム全体に、それぞれ全てベタ打ちしていたことが発覚。
管理責任者が涙目になっていたときはワロタ。
「実戦できてないじゃーん」

今思いつくだけでも

管理しやすいように、いずれ変わるものは、

const gengou = '令和';
const year = '年';
...
nen = gengou + 15 + year;
...
presentYear = gengou + thisYear + year;

にしたり、配列やEnumであれば、

let gengouAry = ['明治','大正','昭和','平成','令和'];
const year = '年';
nen = gengouAry[4] + 15 + year;
presentYear = gengouAry[4] + thisYear + year;

で、パラメータ化しておけば、1行増やすか1行書き換えるだけで終わる作業。

それで結局、
開発部署総出で普段の業務と並行して別にやって軽く1年以上かかってた。
こういう会社で管理者や経営者が、二言目によく使うセリフが
どっちも優先

ふたつめ

以前利用したことのあるIT請負サイトで、2019年4月23日(令和に変わる1週間くらい前)に急遽、

【元号対応】行政機関VBの案件 経験者募集。急務です!!!
☆急募☆【元号対応】金融機関VB.NET 4月末までの短期☆☆

みたいな募集を見た時には、さすがに引いた❗️
(VBで元号改正の1週間前に、今更元号対応の募集かけるってどんだけすごい管理しているんだろう。。。)
って思ってしまった。

そんな炎上案件には、

いくら報酬が高くても行きません。エへへ✨
仮にいくら金がなかったとしても恐ろしすぎて行かない。
こんな募集かけてくる時点で、パラメータ化どころか、改修箇所がどのくらいなのか全体の把握すらできてないだろうなってことがアリアリとわかるから〜〜〜
「管理できてないじゃーん」

こういう案件の時こそ、すぐに人を集めないといけないからか、
人が集まらない人材派遣会社の営業さんとか
エンジニアを人足とか奴隷としか見なしていない管理職とかで、

「良い経験になる。スキルアップ。キャリアアップ。」

みたいな営業トークを言ってくるけど、

炎上した案件の火消し役で良い経験になったことなんてない。

(効率のいいやり方とか提案しても、それまでのやり方に固執して否定からしか入らない現場ばっかだったから、時間潰して精神すり減らして疲れるだけ〜〜〜。)

まとめ

知識を知っていても、その知識をいつまでも実践しないのであれば、知らないのと同じ。
💃知識は、使って初めて知恵になる🕺

近況報告

今日ついに届いた名著!!!!!✨
前から読みたかったのに普通の書店で売ってないんだよねえ
ある意味これで、

💃名著コンプリート

で、挙げた本を読み返し終わったら読みまくるのみ〜〜〜〜〜🕺


この記事が気に入ったらサポートをしてみませんか?