はてなキーワード: done is better than perfectとは
https://type.jp/et/feature/26796/
この発言にもあるように「コードを綺麗にする=読みやすくする」ってことだと勘違いしてる
コードを綺麗にするのは「バグを少なくする」ためであって読み手のためじゃない
グローバルに一文字変数を使って困るのは「どこでそれを触ってるか分からないから」であって「読みにくいから」ではない(まぁ読みにくいけど)
特に昔だとLintもないし変数の参照先を探すのはgrepぐらいしかなくて
$iとかだと$iiもひっかかるし$iの後ろにスペースがあったり無かったりするともう探すのは不可能に近くなる
それでも動いているなら最悪問題無いんだがバグの修正時にめちゃくちゃ困って
「作り直すしか無いな」
ってなるのでビジネス的にも大きな影響が出る
「どんなコードでも動くコードを作るのが正しい」「done is better than perfect(完璧を目指すよりも、まずは終わらせることが重要) 」のスタンスが効率的だろうなぁ、、と思うおいらです。
これも元の言葉の意味を曲解していて、「終わらせることが重要」というのはバグがあって良いわけじゃない
例えばログインボタンを実装したときに、ユーザー名とパスワードに何を入れてもログインできる状態にするのも「終わらせること」だし
ただこのままリリースできるわけではないし、プロダクトとしては「終わっていない」
パスワードを平文で保存して実装するのも「終わらせること」ではあるけれどそのままリリースしていいわけではないし
下手に動いてしまうとそのままリリースされたりもするのでよりタチが悪い
この言葉の重要なのは「better than perfect」の方であって「done」の方ではない
全てを完璧にする必要は無い(し、そもそも完璧は定義できない)ので「perfectでなくていいよ」というだけ
バグがあったり不十分だったりセキュリティ不備があって良いわけではない
毎日論理構成の中に浸ってる人は、推理小説は向いてるかもしれないですね。初期にちょろっと設定したグローバル変数が、最終的な結果に大きく影響してくるとか、「ここで使われてるのかー」みたいな感慨とか。
残念ながら「ああ、まともなコードしか読んできてないんだな」としか思えない
例えば「ユーザーの名前と住所は設定できてるから、性別を設定できるようにして」という依頼があって
コードを確認してみるとuser1, user2, user3という変数が100個用意されていて、user1.name = 'hoge', user2.name = 'gaga' って感じで100行書いてあって、更に住所で100行あって、性別も同じように100行追加しろっていうコードを読んだことが無いんだろう
そしてそのコードのどこかで住所設定が間違えているから確認しないといけないような作業をしてないんだと思う
小説で言うと同じ文章が100ページ続いていて、その中のどこかの漢字が違っていて、そいつが犯人、みたいな推理小説、面白いか?
他にも足したり引いたりこねくり回された変数値が最後に定数値で上書きされてたり、UserのオブジェクトがいきなりWeatherのオブジェクトに置き換えられていて、name属性に晴れとか雨のデータが入ってたりしたことがないんだと思う
汚いコードは伏線を回収しないし最終的に犯人も分からないし無駄に長いので推理小説には全く向いてない
で、やっぱりこういう汚いコードの問題は「バグが混入しやすいかどうか」であって「読みやすいかどうか」ではない
下手するとuserオブジェクトを100行ずつ書いてくれてる方が読みやすさはあるかもしれないが
「user36だけ住所が設定されていない」といったバグが混入し得るし、それを確認するのに多大な労力を必要とする
人間は誰もが間違いを犯すので誰もがバグを混入させる危険性があるんだけれど
その危険性は最大限まで下げるように努力するべきだし、インシデントを引き起こすことでビジネス的なインパクトも大きい
GAFAMとひとまとめにするのはバカのすることなので特色を覚えておくように。
DONE IS BETTER THAN PERFECT だから...
てかそういう連中が無理やりReact使った方が酷いことになると思うぞ
Svelteが来てくれりゃあ良いのにな〜
どの部分を汎用的につくり、どの部分をやっつけで作るか、そして、どの部分をパフォーマンス優先でつくり、どの部分を可読性優先でつくるかは、そのソフトウェアステムを使って今後どのようなビジネス展開をするか、ということと一体不可分だ。
コーディング競技に長けていることは、仕事のパフォーマンスと負の相関関係があります
ttps://b.hatena.ne.jp/entry/s/twitter.com/hackernewsj/status/1338659525562392578
404 Blog Not Found:博士の異常なアルゴリズム、または私は如何にして心配するのを止めて線形探索を愛するようになったか
「とりあえず動く」が、「これ以上正しく動かせない」よりずっとずっと大事なこと
[biz]Done is better than perfect.Facebook
5年ほどもてばいいPC用に25年保証という過剰品質のDRAMを過剰技術でつくっていたエルピーダ:没落する日本の半導体業界に衝撃告発
超えるべき最低限のハードルすら超えてないやつに完璧主義はクソとかDone is better than Perfectとか言われるとクソ腹立つ
ここ5,6年の悩みで最近はっきりわかってきたんだけど、俺いつのころからかどうやって勉強していいのかわからなくなった。
IT系の仕事だから、新しいソフトウェアとか技術とか勉強してマスターしたいって思っているんだけど、空き時間に勉強してもぜんっぜん頭に入ってこないのよね。
仕事は幸いにもそこまでブラックじゃないのよ。こうやって増田に愚痴ブログかける時間もあるし、残業もたまにあるぐらい。仕事のストレスでどうって話じゃない。
一番大きいのは結婚して子供できて自由な時間が減ったことなんだろうけど、でもそれ以前から勉強ぜんぜんできなくなったの。
参考書とかチュートリアル動画とかに数十万円くらい費やしてきたけど、それの1割も満足に読めてない。
とにかく勉強して何か成長したって実感がここ10年ぜんぜん持ててないから勉強することへのモチベが全然あがらない。
何をしないよりもなんかしたほうがマシだろうとチュートリアル動画とか見てても、全然あたまに入ってこないの。20分も見てると眠くなってきちゃう。
なんとか嫁さんに頼み込んで時間と金工面して仕事後に講義うけにいっても、全然身につかないから取るのやめちゃった。
たまにプロジェクト内で新しい技術つかわなあかんときはなんとかやってる感あるけど、基本ここの会社が「できる人がやる」って方針だからその技術を知らない人にはそういった仕事は回ってこない。
んで勉強しても全然あたまに入らなくて身につかなくて、仕事も回ってこないの悪循環。
なんか俺、勉強の仕方を根本的に間違えているのかな?よくわからない。
年末に嫁さんが子供連れて実家に帰るから3年ぶりくらいに3週間ほど一人の時間が持てるからそんときにいままでできなかった勉強いろいろしたいと思っているんだけど、今のままじゃ何をしても無駄に終わるんじゃね?って思えて怖い。
自己啓発セミナーとか行く人間の気持ちがよくわかる。このドン底のモチベーションを無理やりでもあげられるならわらにでもすがりたい気分。
マジみんなどうしてるの?根本に俺が怠け者なのが原因なのはわかっているんだけど、どうやったらちゃんと勉強できるんだろう?
毎回作りたいものはあります。ただそれを作るための行程の途中で躓いちゃうんです。FBの社長さんが「done is better than perfect」って言ってましたけど、ほんとそれなーーー
id:tagomoris 仕事で新しいことやって調べながら仕上げて納品すれば身につくよ
その新しい仕事ってのが、よっぽど人手が足りないときじゃないかぎりある程度の技術ベースがないと回ってこないんですわ。今やってる仕事の大半は過去にやったプロジェクトの保守&マイナーアップデートで、新しいこと試す機会が滅多にない。
id:akirafukuoka まるで私が書いた文章。10年間、何にもならなかったなって思うと何やっても意味ないんじゃないかとか思い始めて手につかなくなる。情けないけれどビビってんだよね。情けない。
一緒に飲みに行こうぜ。。。
id:fromdusktildawn 単に、あなたはITが好きじゃないんだよ。人間、好きじゃないことは身につかないもんだ。好きなことは、自然と勉強するし、苦にならないし、つい入れ込むし、血肉になる。
でたよ正論大王!世の中の人全員が好きなことを仕事にして生きてたら苦労しねーっつーの。もう俺は嫁さんと一緒にあと20年近くかけて子供2人育てなあかんからITが好きか嫌いかで仕事選べる立場じゃねーーーの!
俺にはもう人並み以上にできる業種はこれしかないんだからさぁ。。。涙
id:mobile_neko 勉強する前に、まずは運動して筋肉を作ろう
それな!でも俺は運動する時間もないから長男の遊びに付き合うだけで死にそうになるぜ!だめだこりゃ!!!
あとトラバでADHD治療用の薬のめば集中力ますかも!ってあるんだけどマジなの?
追加続き
正直ここまで盛り上がるとは思わなかった。勉強する才能はないけど増田ではてぶ集める才能はあったのか汗。。。
自分としてはトラバにあった「春から博士課程に進学した人」の話を聞けただけでも意味はあったかなぁと思ってます。ガンプラがどうのとかふざけたこといってごめんなさい。本当はもうちょいマシな課題あります。他にもいろんなコメ多謝です。
ちなみにあれ書いた日の晩も久々に勉強しようと思ったんですが、嫁さんが子供2人寝かしつけて寝落ちした間に食器洗いやら弁当の準備やら子供の服の洗濯やら洗った洗濯物をたたんだりしてたりとだらだらやってたらあっという間に深夜1時すぎでアウトでしたわ。。。とりあえず指を動かすまでのハードがクソ高いんですが他の子持ち労働者のみなさん元気ですか。
「雑に二回やるくらいならゆっくりでもきちんと一回で済ませる方が100倍いいんだけど?」
Done is better than perfect.って言ってやれ
酔った勢いで書く。数年前の断片的な事実を繋ぎ合わせた、あくまでフィクションとさせて頂きたい
情報工学に基づいたエレガントな設計思想。いいじゃないですか、我々はあなた方のその「スキル」を尊敬してさえいますよ。
だがあなた方は我々が手にする「LAMP」と「JavaScript」いう非常に便利な道具を「スクリプト言語だから」というまさにその1点だけで
「そんなおもちゃでシステムを作るなんてありえない。勘弁してくれ!」と言い放った。正直ショックだった。
しかしだ、あなた方のそのエレガントな設計思想で作り上げた完璧な設計書とそのコードは
いま全く動いていないただのバインダーになっている。色々な外的な要因はあったにせよ
今事実としてそうなっている。
一方、ビジネスは止まらないので、我々はそのあと、その一笑に付された道具を使って2か月でプロトタイピングを行った。
何しろ時間の制約もあったので全然完璧ではなかったし、まともな設計書すら書けなかったが、
2か月後ユーザは This is it ! と言ってくれた。
そしてその出来上がった試作品を進化させて、現在稼働しているシステムのベースとなって今日も動き続けている。
中身は決して綺麗じゃないかもしれないが、もちろんたまに出るバグにも真摯に向き合い
頻繁に発生する変更要件にも耐え抜き、鍛えられ、その結果、ユーザの満足度と何よりやり遂げたという
「信頼」を得ることができた。
話を戻そう。我々は今でさえあなた方の「設計思想」を馬鹿にするつもりはない。少しでもその知見を学びたいくらいだ。
色々な耐え難い変更要因があったのかもしれないし、今更責めるつもりもない。
だが、あなた方が嘲笑ったあの言葉を今も忘れることができない。どうかその一点だけは撤回して欲しいと
今でもたまに思い返す。
Done is better than perfect.Zuckerberg
人生の大きな目標のため、日常のどうでもいいことは中庸。デカルト
[biz]決心する前に完全に見通しをつけようと決心する者は決心できない
君子の交わりは淡きこと水の如し、小人の交わりは甘きこと醴の如し
中ぐらいの勝利で満足する者は、常に勝者でありつづけるだろう。
反対に、圧勝することしか考えないものは、しばしば、陥し穴にはまってしまうことになる。
[biz]中ぐらいの勝利で満足する者は、常に勝者でありつづけるだろう。
完全主義は敗北主義
8割主義
Amazon.co.jp: 「超」勉強法 (講談社文庫): 野口 悠紀雄: 本
基本三原則: 1.面白いことを勉強する 2.全体から理解する 3 8割までやる
国語は対象文章の字数を把握する
記憶のためには中味を長く