きっかけ
PSR-2では、ファイルの最後に空行を入れるという事になっている。
という事なので、僕はファイルの最後に空行を愚直に入れるようにしてた。
以下のような感じだ。
<?php
echo 'hello world!'
見た目はわかりにくいが最後に空行が入っている。
(ソース上は空行を入れているのですが、実際に表示させた時には空行は自動的に消えてしまうようです。。。)
でも、PHP Coding Standards FixerというPSRに沿う形でソースを自動整形してくれるツールを使ってみたところ、この空行が毎回削除されてしまっていた。
このツールで整形すると以下のようになる
<?php
echo 'hello world!'
diffだとこんな感じ
$ diff -u before.php after.php
--- before.php
+++ after.php
@@ -1,3 +1,2 @@
<?php
echo 'hello world!'
-
とまぁ、ファイルの最後の空行が削除される。
調べた事
いろいろググってみたところ、以下の辺りが参考になった。
僕が今まで行っていた行為は、ファイルの末尾に\n\n
を入れていた。
たぶん、ファイルの最後は改行コード\n
を入れるという流れでいこうという事だと思います。。。
改行コードつきでcatしてみる
先ほど作ったファイルを改行コードつきでcatしてみる
$ cat -e before.php
<?php$
echo 'hello world!'$
$
$ cat -e after.php
<?php$
echo 'hello world!'$
今まではあまり深く考えて来なかったのだが、僕が普段使っているvimだとデフォルトでファイルの最後に改行コードが入る。
エディタによってこれが入らなかったりするため、ちゃんと入れるように!という意味なのかなー。
結論
僕の英語力が足りなくてふわっとしている部分があるのですが、
ファイルの最後は改行コードが1つ入っていればいいと考えます。
つまり、
$ cat -e after.php
<?php$
echo 'hello world!'$
このイメージ、before.phpのスタイルをやめてafter.phpのスタイルにしようと思った今日この頃です。