teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

条件を明確化

2018/06/15 00:35

投稿

maisumakun
maisumakun

スコア146659

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `assert`の特徴としては、**明示的に有効にしないと機能しない**ことがあります([IPA](https://www.ipa.go.jp/security/awareness/vendor/programmingv1/a03_05.html))。
2
2
 
3
- なので、「メソッドの先頭でobjAはnullでないことを前提に処理が行われる場合に」使うものは、メソッドが外部から引数受け取る(つまり、`null`を渡されることを想定せざるを得ない)場合は不適切になります(`assert`をオフのまま処理を進めると、そのまま進んでしまいます)。
3
+ なので、「メソッドの先頭でobjAはnullでないことを前提に処理が行われる場合に」使うものは、メソッドが外部から`objA`を引数として受け取る(つまり、`null`を渡されることを想定せざるを得ない)場合は不適切になります(`assert`をオフのまま処理を進めると、そのまま進んでしまいます)。
4
4
 
5
5
  [MET01-J. メソッドの引数の検証にassertを使わない](https://www.jpcert.or.jp/java-rules/met01-j.html)
6
6