アカウント名:
パスワード:
ヽ( ・∀・)ノ┌┛ガッΣ(ノ`Д´)ノぬるぽ
だったのが
ヽ( ・∀・)ノ┌┛ガッΣ(´∇`) ぬるホッ
という
安全になったからって糞コードおkって訳じゃねぇ
となるわけですね
# 糞コードは世に尽きまじ
初期化漏れとかメモリリークとか。オブジェクトを使用しなくなったときにnullを代入して参照外すのはどう変わるんだろう。
NULLを入れたいときは、NULL許容型(従来通りの型)を使うだけですよ。NULL安全って、NULLチェックの漏れをコンパイラが検出できるようにする仕組みでしかなくて、設計とかロジックに何か影響するわけじゃない。
昔から静的解析ツールとかで、NULLになる可能性があるとかチェックはできたけど、関数の呼び出し元を延々とたどる必要があって、コンパイル時にやるには負荷が高すぎた。NULL安全をサポートする言語では、NULL非許容の型を用意することで、スコープ内だけでチェックを閉じられるようにしたというだけの話。
新規に設計すると言語側のNULLでないことを保証する機能にたよれるのでNULL非許容の型を主に使うようにして、NULLを使わないコードの範囲を広げれば、その間はNULLチェックのコードが不要なので無駄がなくなるところがメリットNULLが必要なときは、今までどおりNULL許容型使えばいいです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
つまり (スコア:1)
ヽ( ・∀・)ノ┌┛ガッΣ(ノ`Д´)ノぬるぽ
だったのが
ヽ( ・∀・)ノ┌┛ガッΣ(´∇`) ぬるホッ
という
安全になったからって糞コードおkって訳じゃねぇ
となるわけですね
# 糞コードは世に尽きまじ
Re: (スコア:0)
初期化漏れとかメモリリークとか。
オブジェクトを使用しなくなったときにnullを代入して参照外すのはどう変わるんだろう。
Re:つまり (スコア:1)
NULLを入れたいときは、NULL許容型(従来通りの型)を使うだけですよ。
NULL安全って、NULLチェックの漏れをコンパイラが検出できるようにする仕組みでしかなくて、設計とかロジックに何か影響するわけじゃない。
昔から静的解析ツールとかで、NULLになる可能性があるとかチェックはできたけど、関数の呼び出し元を延々とたどる必要があって、コンパイル時にやるには負荷が高すぎた。NULL安全をサポートする言語では、NULL非許容の型を用意することで、スコープ内だけでチェックを閉じられるようにしたというだけの話。
新規に設計すると言語側のNULLでないことを保証する機能にたよれるのでNULL非許容の型を主に使うようにして、NULLを使わないコードの範囲を広げれば、その間はNULLチェックのコードが不要なので無駄がなくなるところがメリット
NULLが必要なときは、今までどおりNULL許容型使えばいいです。