質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

10回答

1552閲覧

これって大丈夫なのか

aaaaaaaa

総合スコア501

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

2クリップ

投稿2016/10/21 11:20

嘗て自身が記述したソースを見ているとよくこんなこと簡単に思いついたな、とか何度読み返しても理解できない、まるでオーパーツをみているようだな、という感覚に陥ることがあります。
これは、病院に行くべきなのかそれとも経験を積むことによって治っていくものなのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答10

0

「経験を積むことによって治っていくもの」というのが、「汚いソースでも読めるようになる」という意味なのか、「綺麗なソースが書けるようになる」という意味なのかよく分かりませんが、前者を指しているのであれば、ちょっと違うかなと思います。
後者を指しているのであれば、普段から「綺麗なソースを書く」ことを意識しない限り、ただ漫然とプログラミングを重ねても、意味がないでしょう。20年選手でもソースが汚い人は汚いですからねぇ…

自分の書いたソースコードについて、「なぜこの変数名にしたのか」「この処理をここに書いたのはどういう意図があってここに書いたのか」など、一字一句説明できるように意識すると、綺麗なソースコードが書けるようになるのではないでしょうか。

投稿2016/10/21 11:29

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

何度読み返しても理解できない、
まるでオーパーツをみているようだな、という感覚

映画『カサブランカ』に「そんな昔のことは忘れた」という台詞があります。

過去の自分は他人なので、ひとりでプログラムを作成していて、
相手が自分であってもコミュニケーションする必要があります。
過去を忘れている未来の自分とコミュニケーションします。

そこで、リファクタリングする、テストを書く、例外処理などを書く、
コメントを書く、UMLを書く、その他のドキュメントを書く、などします。

これらは書く側はとかく面倒で省略しがちなものですが、
保守をするなどで読む側の立場に立つと欲しいものです。

そして、昨日の自分が書いたプログラムは、明日の自分が読むものです。


経験を積むことによって治っていくものなのでしょうか

時間経過で自然と治るというよりは、
自覚的な学習と訓練が必要だと思います。

リファクタリングやテストを書かない人、もしくは職場は、
当然いつまでたってもそれらが上達しないわけです。

こことか質問掲示板などネットを見ていると、
書くことの楽さだけ追求して、読むことが苦しくなる書き方が多いです。

具体的にはたとえば、変数名が「a、b、c、……」とか、
百行以内のサンプルコードとしてならよくありますが、
1万行、10万行、となると、書く楽さより読む苦労が勝ります。

投稿2016/10/21 15:34

LLman

総合スコア5592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私は、「フーム、なかなか良いコードだな。ちゃんと書けるやつもいるんだな。俺じゃん!」と思ったこともありますし、中学生のときの日記でも発見した時のようにそっと蓋をしたいコードを見たこともあります。(どちらも恥ずかしい話ですね。。。)

その時、その時で一生懸命考えたことのですが、毎日一生懸命やってたら忘れることは多いです。むしろ、その読めないコードはなぜ読めないかを考え、明日につなげていくことが重要です。

あと、病院に行くべきかは医者じゃないと判断出来ません。プログラマのところではなく、医者のいるところにいって「病院に行くべきでしょうか」と尋ねるべきです。

投稿2016/10/21 16:54

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

質問者さんに大いに同感です。かつてはニーモニックさえ必要とせず、ダンプリスト見ればCPUの動きがありありと思い浮かび、1バイトの記憶容量、1サイクルの時間さえ無駄にしないプログラムを作っていたはずなのに、あるとき変数などという方便に頼って最適化はコンパイラ任せとなったのが堕落の始まり、構造化プログラミングだオブジェクト指向だとソースにまぶした糖衣に過ぎないものをプログラムに欠かせない本質と思い込んでしまった挙句、デザインパターンだなんだとコードの飾り付け方ばかりを気にして不毛な努力に明け暮れ、しまいにはフレームワークなどと称して自分で書いたかも定かでないコードの断片をつなぎ合わせるだけの日々を過ごすうち、自分がもともとコンピュータで何をしたかったのかさえもすっかり忘れてしまったとしても無理のないことです。

【おことわり】本回答はフィクションであり、特定の人物・団体・プログラマ等とは一切関係ありません。

投稿2016/10/21 14:27

ikedas

総合スコア4306

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

もしそのプログラムが全く動かないのなら、当時の自分はバカで、今は動くプログラムを書けるし、理解できるものと出来ないものの判別ができるような知識と経験が身についた、ということなので自信を持っていいと思います。

ただ、もしそのプログラムが正常に動くのなら、
0. その時の自分は神がかっていた
0. 今の自分は当時と比べてバカになった

のどちらかですね。
神がかっていた場合は(本当の自分は何も変わらないから)良いのですが、当時は理解できて今は理解できないとしたらちょっと危ない兆候かもしれません。

投稿2016/10/24 08:27

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プログラミングに限った話ではなく、一過性の物事を記憶に残すことは容易ではありません。逆に、生活に必要な物事には習慣がつくはずです。(例えば、「貴重品はカバンの中の定位置を決める」とか)

プログラミングを「一過性のこと」と割り切っているならば記憶に残らなくて当然です。ただ、後々にも影響があるならば「一過性のこと」と考えているのは安直であるといえます。

投稿2016/10/21 13:42

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

病院に行くべきなのかそれとも経験を積むことによって治っていくものなのでしょうか。

病院に言っても治りませんし、単に経験を積ん(数をこなしても)でも勝手には治りません。
治そうという意識と努力があれば次第に治ると思います。

投稿2016/10/26 00:33

hana-da

総合スコア1728

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ソースコードはきれいだし、処理の流れも理路整然として
流れを読めば何をやっているかわかるし、トリッキーなコードでもない
通しで動かせば確かにそうなるし、バグもない
だが、どうしてこの理屈で解が出るのだ。
この「なるほど、わからん」としか言いようのない状態のことであれば、
歳をとって頭が鈍くなると新規の発症がなくなるので安心してください。

#最近そういう仕事してないなー

投稿2016/10/24 07:58

kopio

総合スコア487

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プログラミングはチームで開発することが多いし、自分が作ったコードを他の人がメンテすることも多いですから、独りよがりのコーディングではなく、ルールを決めてそれに沿って作成するべきです。
変数のネーミングひとつでもその変数の用途が想像できるように心掛けなければなりません。
良質なコードをたくさん見ることも大切です。

投稿2016/10/21 22:23

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

病院に行っても治らないと思います。コードを綺麗に書く参考書とか、アーキテクチャとか勉強すればある程度改善されるのではないでしょうか。てか私がそうしたいです。

投稿2016/10/21 12:19

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問