タグ

programmingとflowtypeに関するastk_fのブックマーク (2)

  • flowtypeで既存の型に述語を付与してassertを削除しよう - Qiita

    function foo(str) { console.assert(typeof str === 'string'); console.assert(str.length > 0); // 何かの処理 str.charAt(0); } assertを使って事前条件を書いて開発し、unassertを使ってプロダクションにリリースするときに削除スタイルは最近良く見かけるようになりましたね。 動的型付けなJavaScriptで安全なコードを書けるようになるassert最高!!と言いたいところですが、実行時にしかチェックができないんですよね。 そこで、せっかくflowtypeで静的な型付けを行っているので、ここは事前にチェックできるように型で解決を行いたいと思います。 1. 型アノテーションを付与する まずは先のコードに型アノテーションを付与して一つ目のassertを削除します。 functio

    flowtypeで既存の型に述語を付与してassertを削除しよう - Qiita
  • JavaScript でも型チェックと契約による設計で安定した開発をする - Qiita

    チーム開発をやっていると特定の処理を呼び出す際にインターフェイスを明示することがとても重要になってきます。言い換えると使い方がきちんと示されていることが最低ラインということです。ドキュメントは実際の処理と乖離しますし、各人がソースコードの処理を追わなければならないというのはチームでやっている意味がありません。 ところが JavaScript にはそういった仕組みが存在しません。どういった処理をするのかを表すための関数名は指定できますが、 JavaScript では関数を任意の名前の変数に代入できるので実はあまり役に立ちません。 といった状況にあった JavaScript ですが、昨今のツールの登場によって事情が変わってきました。 JavaScript でもインターフェイスを明示しながら開発するにはどうすればいいかを要素技術と一緒に書いていきます。

    JavaScript でも型チェックと契約による設計で安定した開発をする - Qiita
  • 1