大人の計算式のたしなみ方(kintoneで失敗しないために)

(このお話には一部の方にはなんか知ってるような気がする人が出てきますがすべてフィクションです)

第一章

「ポイントは、問題を小さく分解することなんです」

マスターは、そう不器用な笑みを浮かべて語った。

ogp.jpeg

ここはkintone好きが集まるしがない飲み屋、マスターは現在は飲み屋のマスターをしているが、かつては凄腕のkintoneエンジニアだったらしい、現役を離れて長いが、kintoneの最新トピックについては詳しく最新のアップデートなんかにも詳しい。

そう広くない店内には、常連のお客も多く、界隈でよく見る人もたくさん通っている。カウンターの隅には通称「カレンダーおじさん」が座っていて、ハイペースにビールを飲んでいる、ただ有名人すぎて僕には声をかける勇気がない。その隣には、5分話しては電話がかかってきて出ていく人がいる。ものすごい人気者のようだ・・・。よく見ると、kintone と kintoreを愛する有名夫妻とやたら声の大きい人もいるじゃないか・・・とても僕みたいな人間には近づけない。

僕は、kintoneはじめて半年でまだ駆け出しのひよっこだ。みんなの仕事をちょっとでも楽にしたくて上司に懇願してkintoneを導入してもらってから、すでに50個くらいのアプリが社内で動いている。

現場のみんなからは賛否両論出ているが、みんなの要望を聞きながらアプリの改善を繰り返したおかげ、最近はかなり信頼されていると感じる。

そんな僕がこんな猛者が集まる店に1人で来ている。僕としては猛獣が入っている檻に1人で突入している気分だ。

でも、今日はマスターに見てもらいたいものがあった来たんだ。マスターとそこまで親しいというわけではないけど、自分がいいことをしたときに、大人に褒めてもらいたいと目をキラキラさせている子供のような気分で今日は来ている。

第二章

「マスター、最近kintoneの関数ってだいぶリッチになってきましたねぇ」

「そうですねぇ、なにか面白い使い方でも思いついたんですか?」

「実はね、関数を駆使して、こんなkintoneアプリを作ってみたんですよ、みてもらえます?」

「ほぅ」

この飲み屋は、各テーブルにHDMIケーブルが出ている。お客は自分のPCをそこにつないで店内のあちこちに天井がぶら下がっているモニターにPCの画面を出すことができる。

僕はここぞとばかりに、自分のPCを接続しkintoneの画面を表示した。

20201207111124_lrgq3.gif

「勤怠の管理をkintoneでやることになったんですけど、出社と退社だけ入れたらいいようにしたくて、残業時間と休憩時間を自動的に計算されるようにしてみました!」

「ほぅほぅ、ちょっと計算式見せてよ」

そこまで会話が進んだときには、店内にいるみんながディスプレイに注目していた・・・。僕は何故か丸裸にされるような気分になりながら、kintoneのアプリ設定画面を開き、計算式をディスプレイに表示した。

20201207112513_wxwhc.png
20201207112604_tdg6f.png

「これ作るの大変だったんですよ〜、なかなかうまくいかなくてだいぶ試行錯誤しました」

「だろうねぇ」

マスターは、仏様がたたえるような笑顔でこちらをみている。ふと気になってまわりを見てみたら、みんな同じ様な笑顔で僕をみている。どうした?何が起きている?

第三章

マスターが話し出すまでに、相当な時間があったと思う、僕はややこしいアプリが作れて誇らしという気持ちだったが、この束の間の静寂によってそんな気持ちがどんどん萎んでいくのを感じた。

「がんばりましたね、計算式大変だったでしょう」

「はい、大変でした」

「がんばって作った計算式が動いたときのうれしさときたらひとしおですよね」

「はい!」

「でもね・・・」

マスターの顔が険しくなった、まわりの猛者たちは「きたきた」というような顔をしてニコニコしている。

「1年後に自分のこの計算式みたときに、一瞬で何をやっているうかわかりますか?」

僕はドキッとした。確かに今は作ったばかりになので何をしているかは明確にわかっているが、1年後にみたときにすぐに理解できるだろうか???

「あと、あなたが異動したり退職した場合に、この計算式を見た後任の人はすぐにわかりそうですか?」

あぁ、僕はここで意味を理解した。この計算式ではやろうとしていることが伝わらないし、解読するのに時間がかかる・・・。

「つまり、この計算式はダメってことですかね?」

僕は恐る恐る聞いてみた。

「ダメとは言わないですが、あとで大変だろうなぁって思います」

「どこを直せばいいですか???」

恥を偲んで聞いてみた。

第四章

「そうですね〜、まずはフィールドコードでしょうね。『ラジオボタン』とかデフォルトのままですよね?これを『勤務形態」とするとだけで一気に読みやすくなると思いますよ」

「なるほど、ちょっと直してみます」

「あ、あと計算式は改行を入れることもできるので、IFが入れ子になるなら改行して見やすくしたほうがいいですよ」

「それもやります!」

僕は、その場式を直してみた。フィールドコードを直すと計算式で「ラジオボタン」となっていたところも自動的に更新されていた。kintone気を使ってくれてるな。

「直しました!どうですか?」

20201207115046_p2cs3.png
20201207115109_hd3kn.png

「だいぶマシにはなりましたね」

そういう言い方をされるということは、まだダメということなのか?まわりの猛者たちはまだニヤニヤしている。

「この程度の式なら、これでもわかるとは思いますが、これから他でもっと長い式を書くかもしれません」

「長い、複雑に入れ子になった式が動いた時の喜びはわかります。でも、そうすると自分にすら読めない式が出来上がることがあります。フィールドコードをわかりやすく設定するということと、できるだけ式を短くするということがポイントです」

「式を短くするってどうやればいいんですか?」

「ポイントは、問題を小さく分解することなんです」

「IFの中に入る条件式をできるだけシンプルにする。IF の中にANDやORをできるだけ入れないようにする。ANDやORが必要なら、それは一旦別の計算フィールドで計算して途中経過をフィールドとして持っておくといいかもしれません」

「今回の例でいうと、休憩が必要かどうかは、勤務時間が8時間を超えるかどうか、6時間を超えるかどうかがポイントになるわけですので、勤務形態によらず勤務時間を先に計算しておけば、休憩時間の計算はもっとシンプルになりますよね?」

「なるほど!」

「kintoneに限らず、将来の自分が読んでわかるか、他の人が読んでわかるか、という視点で見ながら作るのはとても大切なことですよ」

僕は、自己満足に浸っていた自分がはずかしくなった、これからは読みやすさを意識してkintoneアプリを作っていこう。

「kintoneの計算式だけでは複雑になる場合は、JavaScriptで処理したり、gusuku Customineで処理したほうがシンプルになることもあるので、そういった引き出しも増やしておくといいですね」

第五章

声の大きい人が静かだと思ったら寝ていた。カレンダーの人はまだビールを飲んでいる。

kintoneは奥が深い、動けばいい、できればいいでは将来問題が起きるということがよくわかった。

外にでたら、もう遠くの空が明るくなりはじめていた、僕のkintoneとの旅はまだまだこれからだ。毎日日が昇り日が沈むように僕も改善を繰り返そう、そう決意して、帰路についた。

nyc.jpeg

投稿者プロフィール

アバター画像
金春 利幸
"gusukuシリーズプロダクトマネージャー
ノーコード(No-Code)の有効性に着目し、kintoneとgusukuシリーズの普及のため全国を飛び回っています。"