注目の投稿

移転

移転しました(2020.03) →  https://akehi.github.io/ ---- ・GitHub Pages使ってみたかった ・HTMLファイルをそのまま公開できるのが手軽でいいなと思った ・・JupyterとかMarkdown+PlantUMLとかで書い...

2016/12/25

null安全とか型ヒントとか

最近流行ってるらしいnull安全という概念.

変数にnullが代入される可能性があるときはコンパイルエラーになるっていう仕様のことを指すようだ.
なんでこんなことするかというと,「nullによる意図せぬ挙動は実行時に初めて分かるから土壇場で困る可能性がある」とか「意図せぬ挙動の影響範囲が大きい傾向にある」とかそんな理由があるらしい.
だからそもそも意図せぬ挙動になる可能性が少しでもあるならばコンパイルエラーにして弾いてしまおうという取り組み.デメリットはコードが少し冗長になること.



冗長な書き方でも動作安定するならいいじゃん派としてはあり.
そもそもプロトタイプ作りに簡単なスクリプトしか書いてないからnullに悩まされたことなくて恩恵は感じないけれど.

Pythonはnull安全設計からは少し遅れてるらしい.
でも最近Python3.5から型ヒントを導入して対応してきている.
(そう言えば3.6がリリースされたらしい)
型ヒントは強制ではない=明示的に型を宣言しなきゃいけないわけではない.

だから型ヒントとかnull安全とかそういうこと気にしなくても楽にコードが書けるし,以前のバージョン
で書かれたプログラムに対する後方互換性も確保されている.

null安全が気になる人はきちんと型ヒントを書いて,型ヒントを上手く使って,コンパイル時に不正な代入を見つけてエラーにしてくれるようなコンパイラを使えばいい.

ぬるぽってNullPointerExceptionのことらしい


null安全参考


型ヒント参考