タグ

ブックマーク / tech.notti.link (2)

  • 実装が速いとは

    社内で話題に上がったので考えてみた 🤘 「実装が速い」ってのは相対的なものさしだし、とても抽象的だから評価しにくい。 でも以下のようにいくつかの要素に分解してみると、すこしわかりやすくなる。 どれかがずば抜けている場合もあるだろうし、すべてバランスよく高いこともありそう それぞれ具体的に考えると 書くのが速い 単純に書くのが速いという話。まず思い浮かぶ要素 タイピングが速い VimEmacs などのツールを使っている キーボードが合っている 運指がきれいなことが多い 手を止める時間が少ない どんなに書くのが速くとも、手を止めている時間が多ければ実装が速いとはいえない 言語仕様に慣れていて、書き方に迷わない 経験の長さ 日頃から情報収集を怠らない 問題にぶちあたっても、短時間で解決できる(問題解決能力が高い) 問題を切り分けられる あたりをつけられる(原因を見つけるのが早い) なにが

    実装が速いとは
  • [TS] Non-null assertion operator を理解する

    Non-null assertion operator とは、オブジェクトのうしろにつける ! のこと。 たとえばこんなもの。TS 2.7 から使える。 TypeScript Deep Dive によれば、 新しい ! ポストフィックス式演算子を使用して、型チェッカーが結論付けられないコンテキストにおいて、そのオペランドが非 null でかつ非 undefined であることをアサートすることができます。 そしてこうも書いてある。 これは単なるアサーションであり、型アサーションと同じように、あなたは値が null でないことを確認する責任があることに注意してください。 非 null アサーションは、質的にはコンパイラに”それは null でないことが分かっているから、null ではないものとして使います”と伝えるものです。 なるほど、強制的に null または undefined でない

    [TS] Non-null assertion operator を理解する
    kitokitoki
    kitokitoki 2021/07/28
    “object!.open();”
  • 1