エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

2020/11/16週 気づきと振り返り 普通に実装してたら出会わないエラーばかりに合う1週間だった

業務こなしての問題・気づき

Java

streamを使えない現場

使いたくても使えない現場ってのがあるんだなって、思いました。 配列でデータが独立して保持してたりすると、使うのが難しい。

データ構造の重要性

今の現場が、画面の項目1つ1つが独立しており、グルーピングができていない。。。
例を上げると、以下みたいな感じ

private String[] name = null;
private String[] birthDay = null;

本来は、nameとbirthDay はセットで設定してくるので、入れ物オブジェクト作りたいのだが、配列ってのが、また厄介さを増してる。
そのため、for文回すにしても、いろいろと面倒。
どの項目とどの項目がセットなんだっけ?って毎回考える。
配列の入れ方を間違っていると、かなり追いづらい。

compareToの覚え方

以下のサイトが参考になった。

compareTo の戻り値仕様はリファレンスを見に行かなくても余裕 - Qiita

毎回、どっちがマイナスだっけ?って思ってたけど、一覧化してあると分かりやすい。
右側にゼロを置けば、等符号の向きが同じになるってのが、とても分かりやすかった。

デバックしていて、たまに混乱するから、こういう簡単な覚え方は、知っておいて損はないと思った。
コード規約に入れたいレベルで納得した。

メソッドサイズの制限

自動生成したコードのメソッドのラインが、65535バイトを超えてエラーになった。
初めてこんなエラーを見た気がする。。。

普通に実装してたら、そんなエラーに鉢合わせしないよね。。。

java — 「メソッドのコードが65535バイトの制限を超えています」の修正方法

不要な自動生成を削除するようにもっていくしかないか。。。

環境

リモートワーク

リモートワークやってるけど、若干不便なことがあった。

実装詰まったときに、軽いレビューをしてもらいたいことがあるのだが、わざわざ画面共有したり、通話環境つなげたりするのが面倒くさい。。。
簡単に相手と通話できる環境ができると楽なのだが、相手と通信確立させたりするのが面倒だと感じた。

あと、スケジュールが遅れると、かなり焦る。
サビ残するしかの思考に陥りそうになるんだよね。。。

愚痴

普段であれば、絶対にかかないようなコードを書くことを強いられている。
もっと良くなる方法を考えてると、スケジュールが間に合わないし、やることが多くありすぎて、頭のリソースが枯渇する。
結局、悪い習慣をそのまま書かざるを得ない状況にあるのは、良くないと思いつつも、やらねばならないプレッシャーが、結構キツイ。。。

自分の能力に疑問を持つようになり、悩むことが多いような気がする。
悩んでいる時間は無駄だとは思っているが、そう簡単に割り切れないんだよね。。。
悲観主義的な考えが、強くなった気がする。
スケジュール遅れや、何やっても上手くいかないのが、よりいっそう、そう思わせちゃうんだよね。。。
とりあえず、オンスケに戻せれば、少しは緩和できそうだが、そこまで持つかな。。。

あと、仕事で発破をかけるってことをやるやつが居ると思うが、やり方間違えると、人を追い詰めるだけだからね?
責任感が強ければ、下手したら自分を追い込んでダメになるケースもある気がする。
リーダー的立ち位置の人は、発破をかければいいと思ってるやつがいるけど、かけ方もよく考えるべきだと思う。

プログラミングの基本は、グルーピングだなって思いました。
データを扱いやすい単位にまとめられない場合、繰り返しや入出力でものすごい苦労する。