LoginSignup
8
6

More than 5 years have passed since last update.

ソースコードで想いを届ける

Posted at

ソースコードで想いを届ける

PG上級者になるとソースコードから想いを届けることができるらしい。
・・・というわけで、相手に想いを届ける「告白メソッド」を作ってみた。
※たぶん、そういうことじゃない。

Java

ILoveYou.java
public class ILoveYou{
    public static void main(String args[]){
        final String name = args[0];
        System.out.println("私は" + name + "のことが好きです");
    }
}

実行結果

$ java iLoveYou 吹石一恵
=> 私は吹石一恵のことが好きです

本当は name なんていう変数いらなくて、直接表示する時に args[0] をぶち込んでも動く。
ただ、好きな人の名前を args[0] なんていう何がはいっているか分からないやつで表示したくなかった。
後、name を final にしたのは、一生この気持ちは変わらないよっていうことを伝え(ry

吹石ロスは辛かった・・・

ruby

iLoveYou.rb
def i_love_you n
  p "私は #{n} のことが好きです"
end

i_love_you ARGV[0]

実行結果

$ ruby iLoveYou.rb 土屋太凰
=> 私は 土屋太凰 のことが好きです

ruby なので簡潔に短く書きたかった。
告白は簡潔に想いを伝えるのが一番で(ry

簡潔に書きたかったから、変数名は長々と name じゃなくて n 一文字。
メソッドが3行だから n でも変数の意味忘れないでしょう。

必要に応じて「# n は 名前(nameの頭文字) のこと」みたいな、コメントいれてもいい。
今回はコメントはいらないと判断。
ソースを簡潔に書いたけど、コメントをいれて長くなる、見づらくなるみたいな、本末転倒なことにならないようにしたい。

出力するメソッドも puts でも print でもなく p。
だって、1文字で書けるから。

def i_love_you(n) p "私は #{n} のことが好きです" end

メソッドをワンライナーで書くとこんな感じでしょうか?

個人的に見づらい印象があるので、3行の方でいい気がします。
簡潔にするのもいいけど、ソースコードを通して伝えたい「意味」が相手(ソースを読む人)に伝わるか、ソースコード自体が分かりやすいかは凄い大事ですよね。

swift

func iLoveYou(name: String) {
    print("私は\(name)のことが好きです")
}

iLoveYou("ウルトラマン")

実行結果(xcode の playground 上)

"私はウルトラマンのことが好きです\n"

特になし。
ちなみに吹石一恵と土屋太凰は
ウルトラマン映画のゲストヒロインです。
吹石一恵はウルトラマン役です。
土屋太凰は地球とは別の惑星のお姫様役です。
2人とも宇宙人です。

まとめ

・・・くだらないことやってないで、リーダブルコード読もう。
もっと読む人が読みやすく、僕の想いが伝わるソースを目指して勉強します。書きます。

8
6
1

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
8
6