0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIが出力するコード、文頭に\nを付きやすいのなんで?

0
Posted at

答え

場合によっては『文頭に\n』の方が余計な空白を防げるから

何の話?

hoge
===piyo===

上記hogepiyoを表示する際、pythonの場合は下記の様に書く。

.py
print("hoge")
print("===piyo===")

しかしAI(全般)に書かせた際、以下のような書き方で作成していることが多々ある(気がする)

.py
print("hoge", end="")
print("\n===piyo===")

一体この冗長に見える書き方は何?:thinking:

よく考えると...

.py
# 何もつけない(文末に\n)
print("hoge")

# 出力:
> hoge
>    #<-改行が出てしまう!!!     


# 文頭に\n
print("hoge", end="")

# 出力:
> hoge

なるほど、もし最後の要素に\nがつく場合謎の空白が生まれてしまう。
賢い先人たちはこれを防ぐために『文頭に\n』で書いてきたのか...

.c
#include <stdio.h>

// hoge後に改行
printf("hoge\n");
printf("===piyo===");

// piyo前に改行
printf("hoge");
printf("\n===piyo===");

Cのように改行コードを明示する必要のある言語だと、より分かりやすい気がする。

反省

『文頭に\n』は当たり前のノウハウのようだが、検索してもそれらしきテクが書いてあるサイトは意外に出てこない:thinking:

コーディングをAIに全任せだと、いざという時にコードの意図を即座に説明できなくなりそう。(そもそもコードの説明は必要なのか?とかいう強者の理論はぶつけないでください。)

要件云々は置いといて、プログラミングに圧倒的な自信がある人以外は、『AIが書いたコードの隅から隅まで説明できる』状態にしておかないと、後々リスクになりそうと改めて思いなおした。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?