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

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

ただいまの
回答率

88.91%

最長どのくらいエラーと格闘していたことがありますか?

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 416

atage517

score 36

プログラマーの仕事は7割がエラーと戦うことだと聞いたことがあります。
僕はまだプログラミングの勉強を始めたばかりで先日から環境構築などでエラーを連発し、teratailで聞いてみたり、ググっても全くわからず、コード通りにコマンドを実行しても全くエラーが解決しなくて憂鬱な気持ちになったことが何回もあります。

Teratailにいる方の中には凄腕プログラマーのような方がたくさんいると思いますが、エラーが全然解決しないときはどう対処していますか?
タイトルにもある通り最長どのくらいエラーと戦っていたのか、またそういった状況での対処法をぜひお伺いしたいです。

(例、コードを見直す、初歩的なミスが多いなど。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • cateye

    2020/07/02 19:15 編集

    回答にならないので・・・「エラーメッセージの読み方と対処, 検索や質問の原則」
    https://qiita.com/cannorin/items/eb062aae88bfe2ad6fe5
    ・・・まぁ、プロチョン(ケアレスミス)は今でもしますよ・・・

    キャンセル

  • m.ts10806

    2020/07/02 19:17

    「アンケート」は非推奨です。
    具体的に自身が直面している問題について質問してください。
    それに、時間なんて何の指標にもならないし、知ってどうしたいのかわからない。
    問題によって切り口も違う。
    結局この質問で何を得たいのかわかりません

    キャンセル

  • 退会済みユーザー

    2020/07/03 00:17

    複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

回答 2

+3

エラーと格闘する最長時間について

独りでエラーと格闘する時間に関しては
僕の場合は 1 日を上限にするようにしています

チーム開発ではスクラム開発という開発の進め方の指針があります
この指針の中に、「朝会を毎日開催する」という方法があり、
これを行うことで、
チームのメンバーが独りで解決しない課題をかかえたままになってしまう状態を防ぎます

朝会では次のことを話します:

  • 昨日やったこと
  • 今日やること
  • 今かかえている問題、または問題に思っていること

「ほう・れん・そう」を15分の朝会に置き換える (1/2):開発チームを改善するためのスクラムTips(1) - @IT

エラーが全然解決しないときの対処法について

  • エラーメッセージを読む
  • 検索する
  • 切り分けする
  • 検証する

上記の解説は長くなるので、省略しますが、

憂鬱な気持ちになったことが何回もあります

この点について、
休憩を取る」という方法は有効とされています

XP開発という開発の進め方の指針では、
最適なペースの仕事: プログラミングは週 40 時間までという指針があり、
集中力モチベーションのためにも
やりすぎは良くないとされているようです

僕も、休憩中に解決法を思いつくなどの経験は何度もあり、
多くの知人のプログラマーが同様の体験を語ります

参考:
エクストリーム・プログラミング - Wikipedia
第1回 XPな開発者の1日 (1/2) - ITmedia エンタープライズ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/02 19:35

    アドバイスありがとうございます!

    キャンセル

checkベストアンサー

+2

私もエラーには幾度となく泣かされてきました。
しかし、プログラマができる手段は「どうしてエラーになるのか確かめる」事だけです。

  • エラー文を翻訳機を使ってでも読む
  • エラー文でぐぐってみる
  • 何行目でエラーになったのかを確認する
  • 関数・メソッドに同じ値を投げ込んで動作を確認する
  • デバッグプリントを仕込んでみる

それを続けていると嫌になってくるのが人間というもので、
私もエラーを出さない・最小限の労力で見つけられるよう工夫するようになりました。


1つ目の工夫が良いコードを書くことです。

  • リーダブルコードを読んだ
  • コード量の少ないコードを書くようになった
  • カッコのネストを嫌うようになった

読みやすく記述量の少ないコードの書き方を学び、創意工夫することで、
大幅に不具合を起こす事が少なくなりました。

分かりづらい文章は書いている本人ですらわかりませんが、
わかりやすい簡潔な文章は、間違いが記述してあると浮かび上がってくるようになります。


2つ目の工夫は高速な確認作業です。

  • タイピング速度を上げ、知らない関数・メソッドをREPLで検証するようになった
  • 知らない関数・メソッドは公式のリファレンスを読んで確かめるようになった

これは癖の問題です。
自分のタイピング速度が遅いと確認を避けるようになります。

自分はたまたま入った職場のプロジェクトがCoffeeScriptという言語を採用しており、
コードを眺めているだけでは中々解決出来ないから確認を強いられました。
その結果、自力でコードとエラー文から問題を抽出する事が得意になりました。

また、JavaScriptもPHPもそうなんですか、
リファレンスのサイトを都度眺める事で、
自分の知識がアップデートされていき、短時間でより多くの情報を抜き出せるようになります。


3つ目の工夫は道具の手入れです。

  • インデントの不揃い対策にEditorConfigを導入した
  • typo対策にlinterを導入するようになった
  • 処理を小さな単位で関数・メソッドに閉じ込めるようになった
  • ファイルを変更してすぐ挙動を確認できるよう、ビルドツールやテストツールを整備した

自分が困る事なんて全世界のプログラマが困っているわけで、
ちょっと調べれば腐るほど答えが転がっています。

多数の記事を読み、前人の知恵を引き出すようになって、
飛躍的に生産性が上がりました。

タイピングが遅い人なんかはIDEやプラグインを組み合わせ
少ないタイプ数で多くのコードを生み出したり、
少ない操作で瞬時にエラー箇所を分析して見つけ出すスキルに優れています。


現在TeratailでJavaScript等の質問が来る事がありますが、
コードはたいていこの解答欄のTextareaタグ内で作っています。

デベロッパーツールのconsoleで動作を軽く検証して載せています。
何をやるのかは明白で、たいてい1-2度動かせば想定通りに動作します。

なので、長くプログラマーとして生きていけば
そのうち慣れてきて一撃で動作するコードは書けるようになります。
まずはじっくり何が発生しているのか自分の目で確かめる、
エラーの文章を深読みや早合点せずに正しく理解する。

そして昨日より今日、今日より明日が少しだけ便利になるようにツールを探してみましょう。
それをコツコツ積み重ねて行く事が重要です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/07/02 19:35

    アドバイスありがとうございます!

    キャンセル

  • 2020/07/02 20:09 編集

    回答見返すと自慢みたいになってしまいましたが、
    やることが高度であれば高度であるほど悩みますし、
    今でも普通に3日経っても進まないこととかありますよ。

    趣味でC言語で配布されているライブラリをJavaScriptに移植した事があります。
    そういうC言語をコンパイルしてJavaScriptにして使うツールってのは存在するから使うだけなんですが、
    ツールの使い方はどこにも載ってないし、謎のエラーだらけで遅々として進まなくてまじで地獄でしたね。
    結局2ヶ月くらい掛けて一定の完成はしました、詳しい人なら半分以下の期間でサラッと作ってるはずです。

    こんな風にやることが高度・ニッチになればなるほどより大変になるので、
    上級者になっても結局新しいものに挑戦するのは大変ですね。

    キャンセル

  • 2020/07/03 10:30

    すごいですね。僕にはまだ想像できない世界です。正直ミヤビさんがいっていることの半分も理解できていない状態なのでこれからも学習に励みたいと思います笑

    キャンセル

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

  • ただいまの回答率 88.91%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る