🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Q&A

解決済

10回答

2665閲覧

回答で書くコードは質問者の理解度に合わせるべきか

i_sugiyama_tomo

総合スコア85

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

3グッド

7クリップ

投稿2018/07/30 08:06

編集2018/07/31 00:17

前提・実現したいこと

先日から回答をしていて悩んでいることがあります
回答で書くコードは質問者の理解度に合わせるべきか
です。

発生している問題・エラーメッセージ

このサービスを利用されている皆さんであれば
質問の内容を見ていればおおよそのスキルのレベルはわかると思います。
質問を受けて「あ、この人基本的なことからわかってないな」というとき
(1)その人のレベルに合わせて平易な、もしくは質問のコードに近い形で動くように書く
(2)目的を考え理解し、それに合わせて適切なコードを書く
どちらがいいか迷っています

該当のソースコード

もちろん(2)を書いてそのまま質問者が使って問題なければよいのですが、質問した内容のどこが悪いかわかるようにしないと応用が効かないし、スキルアップにならない気がしています。

試したこと

  1. まずは質問者のコードから動かない要因を探し、なるべく元の形に近い動くコードを記載。
  2. 回答にどこがどう違うか、考え方はこうだという解説をつける

補足情報(FW/ツールのバージョンなど)

このやり方が最終的にはベスト、にはなりえないので難しいですが、
このサービスの利用者として、より良い形になってほしいし
利用しやすくしたいのでご協力頂けますと助かります。

sakura_hana, LouiS0616, sirou👍を押しています

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

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

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

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

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

fuzzball

2018/07/30 08:07

関係のないタグを付けないで下さい。
kei344

2018/07/30 08:12

teratail タグがあるので、それ以外の質問タグは外してください。
i_sugiyama_tomo

2018/07/30 08:14

タグを変更しました。質問内容については他のサービスで質問することではないかと思います。そのあたりは運営の方々の判断におまかせします。
kei344

2018/07/30 08:17

(タイミング的に見逃している可能性もあるので2回目)teratail タグがあるので、それ以外の質問タグは外してください。
date

2018/07/30 09:04

質問のタイトルは 回答で書くコードは質問者の理解度に合わせるべきか でいいのではないですか現状のタイトルだと開かないとなんの質問だかわからないです
i_sugiyama_tomo

2018/07/31 00:18

@date ご指摘ありがとうございます。タイトルを変更いたしました。
guest

回答10

0

「わかっていない」にもいろいろあって、
0. 日本語読解能力に問題があり、課題が何なのか理解できていない
0. そもそもコンピュータとは何か、プログラムが何かがわかってない
0. 当該言語の文法の基本がわかっていない
0. とりあえずHello worldをだすぐらいのプログラムは書けるがアルゴリズムの構築とかアルゴリズムをコードに落とし込むスキルが足りていない
0. 自分なりにデバッグを試みているのだが、本当の問題点とは違うところに着目してしまってハマっている

もっと自分で勉強してもらわねばというとき、上記例の1,2,3あたりについては、あえて詳しい説明はせずコードも提示せず突き放すだろうし、いろいろ苦労して「あと一歩」ができていないというような場合はどこができていないのか丁寧に説明して差し上げようとなります。また、回答するにあたって自分でも色々調べて自身の勉強ができそうだという場合は結果として回答も詳しいものになると思います。

「解説」が必要かどうかも一概には言えないように思います。私は1行2行のコードをポンとおいて何の説明をしないことが結構あります。あとは自分で考えて、という感じです。逆に解説しか書かないこともあります。両方そろっているから役に立つとも、逆に自助努力の機会をそぐとも、一概には言い切れないと思います。どのパターンが質問者の為になるかは、結局のところわかりません。

煎じ詰めれば、一番スムーズにキャッチボールできそうだというところをその都度見極めて方向性を決めるしかないように思います。ROMしているに人にも初級者・中級者いろいろおられるでしょうから、どの方向でも誰かの役には立つのではないかと考えています。

投稿2018/07/30 08:50

KojiDoi

総合スコア13692

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

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

0

ベストアンサー

質問内容や気分によって変わりますが、私の場合「基本(1)→時々(2)」という感じです。
大体以下のような感じにしてます。

  1. 問題箇所の指摘とその理由(この段階で終わる時もある)
  2. 質問のコードを修正 or 新規作成(修正箇所が軽微&文章だけじゃ伝えづらい場合)
  3. もっと良い別案あるならそちらを提示(上記をすっ飛ばしてこれをやることもある)
  4. 必要に応じて「調べ方」を提示(ググったワードとかリファレンスとか「質問するときのヒント」とか)

その時だけ使えるコードを書いても意味無いと思ってるので
なるべく理解しやすい、改変しやすいコードにしているつもりです。
(なので回答時はLinqとかは使わないようにしています)
「なぜそうなるのか」が分かれば応用や、少なくとも「どう調べればいいのか分かる」ところまでは進む……と信じたいので。

なお、過去の質問ですがこちらも参考になるかもしれません。
teratail が目指す回答は、魚か、釣り方か、それとも ...(39089)|teratail

投稿2018/07/30 08:27

sakura_hana

総合スコア11427

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

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

i_sugiyama_tomo

2018/07/30 08:40

ご回答有り難うございます。また、近似の質問があったことを調べきれていないことに気づかせていただきました。 頂いたリンクが2年前のものですのでどう変わるか、変わってないかしばらく開示して皆様にご回答いただければと考えています。
katoy

2018/07/30 13:41

teratail で 画面右に "あなたの回答を待っています" がでますが、 "類似質問がすでにあります" の表示を AI をつかって それなりに表示してくれると良いと思っています。
guest

0

teratailは開発代行サービスではないので、問題点と解決策を示せればコードはなんでもいいです。

基本的なことからわかっていない人には、回答者から手助けできることはほとんどありません。その人が自分で乗り越えないといけない壁なので。

何かするとしたら、伝わる範囲で基本的な考え方とかを示してあげて、その人の「よくわからない」が少しでも晴れるような回答にしていくだけです。

投稿2018/07/30 11:23

編集2018/07/30 11:23
hayataka2049

総合スコア30935

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

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

0

質問を見て明らかに学校か何かでの課題の回答を欲しがっているときは、敢えてコードは書かず、考え方だけを示すことはよくあります。(回答を示すのは本人のためにならないと思うので)

業務などで困っておられるような場合は、自分でコードを示すか、ネットで検索したリンクを提示することもよくあります。

投稿2018/07/30 08:44

PineMatsu

総合スコア3579

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

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

0

目標の違い

(1)その人のレベルに合わせて平易な、もしくは質問のコードに近い形で動くように書く
(2)目的を考え理解し、それに合わせて適切なコードを書く

両者は、目指している目標が異なるように思います。

(1) 質問者一人が満足する回答を目指す
(2) 閲覧者全体が満足する回答を目指す

私は基本的に (2) を目指しますが、あまりにも基本的な質問の場合は情報の再利用価値が低いと判断し、(1) に切り替えることもあります。

問題を切り分けられない質問者たち

(1) になりやすい典型的にダメな質問者は、次のいずれかの性質を持ちます。

  • 「自分が理解している範囲」が分かっていない
  • 「自分が理解している範囲」が曖昧模糊としていて、漠然とイメージだけで考える
  • 問題を切り分けることが出来ない
  • 経過(解説)よりも、結果(コード)を求める
  • 最良は何ですか?(絶対的な一つの答えを求める、ケースバイケースとは考えない)

(2) で回答しても、連鎖的に質問が増えていくので、継続して回答すると、(1) の回答に近づいてしまいます。
分割統治法を勧めた事もありましたが、ほとんどの質問者が途中で挫折します。

Re: i_sugiyama_tomo さん

投稿2018/07/31 13:37

think49

総合スコア18189

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

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

0

これはケースバイケースですが、少なくともコードを書くだけにはしないようにしています。
どこが問題だったのか、をきちんと書かなければ、完成形のコードだけ見ても片手落ちになるからです。

コードを書くことよりコードを組み立てること(アルゴリズム・手順を構築すること)がはるかに重要なので、それが可能なような回答、例えば考え方や手順を提示するだけに留めるとかを心がけるようにしています。そうでないと質問者のスキルアップに繋がらないですから。

投稿2018/07/30 08:40

tacsheaven

総合スコア13703

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

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

i_sugiyama_tomo

2018/07/30 08:43 編集

ご回答有り難うございます。他のユーザーのご回答もいただきたいのでもうしばらく開示しようと考えております。
guest

0

質問が解決するのを前提と考えていますので、

「回答で書くコードは質問者の理解度に合わせるべきか」

については、Yesです。
その際に、元のコードが冗長であるなら、別解も付け加えたりします。
それは、後学者にとって有用になるようにというのも含んでいます。

ただ、質問者のレベルが追いつかないような場合には、結論のコードだけ書いて、解説します。
それは解決するためのコードであり、それを糧にするかどうかは質問者に預ける事にしています。

投稿2018/07/30 09:07

sazi

総合スコア25313

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

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

0

初心者の方が対象でも、質問の内容にもよりますし、その時々で回答の書き方は変わるはずです。
いずれにしても、何でこういう書き方をする必要があるのかという根拠をきちんと説明してあげるのは、対象が初心者でもベテランでも必要なことだと思います。
その説明がやたら難解な専門用語を並べ立てると、例えベテランでも読むの面倒だなと思うのはわかると思うので、誰もが読みやすいなと思える説明になればいいのでは。
自分がそんな回答が出来ているかはわかりませんが・・・。

投稿2018/07/30 09:06

ttyp03

総合スコア17000

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

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

0

ベストアンサーを望むなら、質問者のレベルに合わせた回答をするとよいと思います。

質問者以外の方が類似質問の検索でおとずれた時のことを考えれば、
解決コードと、解説、類似問題への取り組み方... などを記載するとよいと思います。

でも 質問者以外のことを考慮した回答を書くにはそれなりの手間・時間がかかります。
現状の teratail の仕組みで、そういった回答を蓄積していくのは困難と思われます。(まして、その回答をより良いものへ、皆で改善していくことも...)
だからこそ、そういった回答を蓄積・更新できるようにすれば、他の QA システムとおおきな差別化ができるはずなのですが。

投稿2018/07/30 12:29

katoy

総合スコア22324

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

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

0

中締めとして、現在一番高評価の方の回答をベストアンサーにさせていただきました。
みなさまご回答有り難うございました。

結局
・「teratail」は「教育の場じゃない」という認識
・上と相反する「スキルが伸びてほしい」という優しさ
のコンフリクトは多くの皆さんお持ちという感じかと思います。

紹介いただいたリンク先( teratail が目指す回答は、魚か、釣り方か、それとも ... )にもあったように、
基本的には**「正解をドン」**が割と求められている形なんでしょうね。

投稿2018/07/31 05:05

i_sugiyama_tomo

総合スコア85

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問