2008-07-01

Perlセミコロン撲滅計画

Perlでセミコロンを使うのをやめてみよう、という提案。

セミコロンというのは、言うまでも無く、「;」のこと。

Perlにおいて、セミコロンは行末を表す。

しかし、ブロックの中の最後の一行ではセミコロンを省略できる。

つまり、全て一行で終わらせればセミコロンは使わなくて済む。

これは別にネタでもなんでもない。

ワンライナーのような縛りルールでもない。

あくまで、新しいコーディング規約としての提案である。

セミコロン無しでできることは結構ある。

if文やfor文やメソッド定義もセミコロンはいらない。

だから、一行(改行無し)で複雑なコードを書くこともできるが、あんな無理するくらいならメソッドを分けてしまえばいい。

そうすれば、必然的にメソッドは機能別に分けられ、また長くなりすぎることを防げるだろう。

一行で書くときに重要になるのは、メソッドの戻り値だ。

これが、エラーを返すような全時代的なメソッドだと、かなり使いづらい。

正常時か異常時のどちらかの場合しか、次の処理に進めないからだ。

(..?..:..)を使えばできるか。でもこれは処理が複雑になると物凄く見づらい。

つまり、セミコロンを禁止すれば、エラーは全て例外処理で行い、意味のあるオブジェクを返すことを強制する効果がある。

みたいな妄想をしたんだけどだめかな。

  • pythonに替えればいいと思うよ

  • いいんじゃないかな。 だから、一行(改行無し)で複雑なコードを書くこともできるが、あんな無理するくらいならメソッドを分けてしまえばいい。 行末以外のセミコロンはOKなの? $...

  • なんでセミコロンを無くす方向にならないんだろう セミコロン無しで構文を解析する難易度だってそんなに高くないだろうに

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん