LoginSignup
6

More than 5 years have passed since last update.

PSR-2のファイルの最後に空行を入れるという事について考えた

Last updated at Posted at 2014-03-04

きっかけ

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のスタイルにしようと思った今日この頃です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6