なんで、Rubyって、破壊的メソッドと非破壊的メソッドがある時に、
破壊的メソッドには!をつける約束なんでしょうか?
この決まりは具体的にどういう時に便利と感じますか?

困ることばっかりのような気がします。
1.破壊的メソッドのみ作っていたが、非破壊的メソッドも作りたくなった場合、
この規則に従うと、元のメソッドの名前を変えないといけなくて、
元のメソッドの意味が変わり、その元のメソッドを使っている部分が、うまく働かなくなる。
2.破壊的メソッドしかない場合、!がつかない。たとえ破壊的であっても。

!をつける規則の利点を、誰か教えてください。
こう考えると、ありがたいよっていう考え方とか。