コードの上手さ VS 仕様 (有給を取ろう)
こんにちは。
派遣事務員のコロ子です。
年5日の年次有給休暇
今年4月から年5日は有給を取らなくちゃいけないんだってね。
使用者は、労働者ごとに、年次有給休暇を付与した日(基準日)から1年以内
に5日について、取得時季を指定して年次有給休暇を取得させなければなりま
せん。(厚生労働省ホームページより。)
しかし「取得時季を指定して年次有給休暇を取得」のところが意味不明。
今から1年分の有給をいつ取るか決めるの?
こんなことわざわざ義務化されなくてもコロ子は派犬の特犬を生かして、余裕で取ってるのに。
とにかく、今月中に今年の有給取得日を決めて提出しなくちゃいけないんだって!
お友達のネギ子と旅行に行く約束をしてるけど、彼女も派遣事務員でビンボー暇なし、優柔不断で安値にこだわるから今から決められない。
後から変更も可能らしいから、まぁいいや。適当に書いておこう。
さらに5日よりも多く申請しちゃえ。
会社から配布されたエクセルシート
会社から有給取得日を入力するエクセルシートが配布された。
こんな感じの。
めっちゃ使いにくい!
何が使いにくかというと
①土日祝日を除く処理が入っていない。
開始日と終了日を入力するので連休で取る時は便利、と思いつつ土日祝日も有給にカウントされてしまう。
土日祝日を含む場合は分けて入力しなくてはいけない。
②一日だけの場合の場合は開始日と終了日に同じ日にちを入力する。
③半休の場合は半休の列に1を入力する。
0.5と入力してる人多数。
④全休の場合は半休の列に0を入力する。
半休の列に0を入力すると全休の列に1が
半休の列に1を入力すると全休の列に0が
入る関数が全休の列に入っている。
関数無視して全休の列に1を入力してる人多数。
⑤入力の仕方の説明書が付いていて読まないと入力できない。
さらに
全休、合計のセルにめっちゃ複雑な関数が入っている。
たった5日、最大でも40日の有給申請ならこんな感じで良くない?
【入力例】
会社配布のシートに「読み込みボタン」が付いていてエクセルで作ったカレンダーに反映できる。
しかし、予定を変更・追加して再度読み込みすると前のデータが残ったまま追加される。カレンダーぐちゃぐちゃ。
いったいどんな仕様なの!!!!
コードを見てみる
いったいどうなってるの?と思いコードを見てみると、
すごく技ありのコードが書かれている。
1行に開始日と終了日を入力するようになっているから
データを日付分ループしながら配列に入れるという複雑な処理を行っている。
誰が作ったんだろう?情シスの人かな。
さすがプロ!と感心するくらい上手いコードで可読性が高い。
きっとプロだからこれくらいちゃちゃっと簡単に書けるんだろうけど、1つのセルに1つの日付しか入っていなかったら配列いらなくない?
最初のエクセルシートが悪いせいでコードが複雑になっている。
それに、変更・追加の処理が入っていない。
どうやら有給取得日を申請して上司が承認したらそれで確定ということで
後からの変更・追加はできない仕様になっているらしい。
それって使えなくない?
上司に言って、変更・追加ができるように手直しをした。
コロ子の下手くそなコードを追加して、でたらめ感満載のひどいコードになったけど使い勝手は良くなった。
コードの上手さ VS 仕様
いつも思うけど、業務で使うマクロは、その業務を熟知している人が作ればコードがでたらめでも「超使える」ものになる。すなわちコード下手でも仕様が良い。
コードがいくら上手くても仕様が悪いと、「なんか使えない」ものになる。
「すごい!でも使いにくい」と「ダサい!でも使いやすい」はたまに遭遇する。
上手くなりすぎると、自慢の技に走り過ぎちゃうのかな。
コードの上手さも大切だけど、重要なのは仕様だと思う。
コードの書き方はネットや本などで勉強できるけど、仕様の部分はどうやって勉強したらいいのだろう。
業務愛と熟知度なのかな・・・。
そんなことより有給!どこいこうかな。