SwiftUI ButtonStyleでisEnabledの取得について調べました。 zenn.dev/usk2000/articl… #SwiftUI
2021-06-09 10:47:36関係ない話題。初学者のみならず、仕事でコード書いてる人でも、 if(isEnabled) { return true; } else { return else; } と書いちゃう人と時々遭遇するのだけど、これはなんでなんだろう。 ↓
2021-06-17 00:13:47true/falseの二値を返すということは、当該関数がbooleanを返り値としてを期待しているというのは理解している……と思えるのだけど、しかし、理解していれば、 return isEnabled; になるはず。 ↓
2021-06-17 00:13:47一つありえる仮説としては、そういう人はreturnには即値しか書けないと思い込んでるとか?しかし、そういう人でもreturn 変数名;とかは書いてたりするんだよなあ。 boolean型の変数だけが何か特別であると思いこんでいる?この種のコードに時々遭遇する理由がわからない(初学者の場合はわかる)。
2021-06-17 00:13:47@kmizu boolean型の変数が(条件分岐などで使えて)特別であると思い込んでるに1表! それが手癖になって抜けない人がちょいちょいいる感じでしょうかー (僕自身そんな感じだった気がします)
2021-06-17 00:17:33とはいえ、こういうのはIDEの支援機能で潰していくべきだな。 twitter.com/kmizu/status/1…
2021-06-17 00:20:43@kmizu 日本語ドキュメント直訳論を提出しておきます twitter.com/gakuzzzz/statu…
2021-06-17 00:21:04わりと旧き良き詳細設計書(?)なるものに「集合 A に B が含まれていたらtrueを返し、そうでなければfalseを返す」みたいに書かれてたら、素直に if (setA.contains(B)) { return true; } else { return false; } と書いてしまう心の清らかな人は結構いるのですよ twitter.com/Kory__3/status…
2018-02-22 05:27:39@kmizu 僕も昔書きがちでしたが、isEnabledの時とそうでない時の処理を挟むつもりで書き出してとりあえず書きはじめたけど、周辺を整理したらそこでは必要なくなり…みたいな時に消すのを億劫がってそのままにしちゃったりは…w
2021-06-17 00:21:08@kmizu 脳内の日本語を書き下してるのだと思います。(自分も気持ちはわからんでもないです。) 「〜が有効なら true を返す」という文がコードになったものです。
2021-06-17 00:21:30え、 return !!isEnabled 的な話だろうか twitter.com/kmizu/status/1…
2021-06-17 00:23:27@kmizu C で bool 型を返す関数を書いていると、関数の返り値を変数に保存しないケースが頻出することがあるので、以下のように書いています。変数に保存して分岐などする場合は、変数を返すようにしています: if ( ! function_B()){ return false; } return true;
2021-06-17 00:23:53@dif_engine @kmizu ああ、片方の値の時にデバッガのブレークポイントを設置する目的でもそういうことやった時代はあるな〜(値条件ブレークがないような時代)
2021-06-17 00:24:31これ数学ガールの最近の連載でもこう書かれてるんですよね。結城先生の事だから意図的にそちらの方がわかりやすいという判断をされたんだろうなーと思いつつ、なぜその方がわかりやすいと判断されたのかはまだ自分の中で解を見出だせてない twitter.com/kmizu/status/1…
2021-06-17 00:24:44最近の IDE なら直してくれるよなって思ったけど、そもそも IDE 使わないか twitter.com/kmizu/status/1…
2021-06-17 00:27:50@kmizu if(isEnabled) と書ける人も実は思ったほど多くなくて、「ifの中には条件演算子がないとダメ」という認識がはびこっている可能性がが
2021-06-17 00:31:20@kmizu レビューされて気づいたことが過去に数回あります 理由はreturn isEnabledで成立するコードって滅多に遭遇せず不慣れだったからです 前者のif elseのパターンの方が頻出フレーズなので無意識レベルで書きあげていました
2021-06-17 00:32:54JSでisEnableが真偽値じゃないけど、返り値は真偽値にしたい的な? !!isEnableって書けば済む話だけど twitter.com/kmizu/status/1…
2021-06-17 00:34:12レビューでこれ出てきて直させた側の人間だけど、「設計書の決定表とコードを見比べた時にこの方が分かりやすいと思ったのでこうしました」と言われた記憶(どういう意図かはちょっとよく分からなかった) twitter.com/kmizu/status/1…
2021-06-17 00:35:56else のところ、return false; だよね……? そうでなかったら破壊的にどうしようもない twitter.com/kmizu/status/1…
2021-06-17 00:40:17ここまでのは無いが、 bool isDisabled() { if(isEnabled == false) return true; else return false; } は稀によく見る。 インタビューしたわけではないが、恐らく頭の中では「isEnabledの逆」とは考えず「isEnabledが偽なら真、それ以外なら偽」と考えている。 twitter.com/kmizu/status/1…
2021-06-17 00:40:29