ここに質問の内容を詳しく書いてください。
独習C#をやっているのですが、分量が多くてどのように勉強すればよいかわかりません。どのように勉強すれば記憶できるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
teratail:teratailランキング上位の方の思考が知りたいです。
という質問のQ2,3に答えている回答が参考になるかと。
Q2.ランキング上位者の方達はコードの引き出しが非常に多いように感じるのですが、全て暗記しているのですか?
Q3.暗記以外で効率よくコードを引き出す方法などがあれば教えてください。
そもそもプログラミングによって出来上がるアプリケーションは学校の試験問題を解くのとは違うので、暗記、記憶 全く役に立ちません。
同じ結果を出すとしても100人が書けば100通りのコードが出来上がることもあります。
1+1=〇 を埋めるのではなく 〇+△=2 を埋めるのと考えが近いです。
様々考えられる手法から要件にあったやり方を採用します。
覚えるのではなく、考えます。
もし機能について知りたいならメジャーな言語であれば公式ドキュメントがあって
バージョン毎にまとまっていたり、更新頻度も高いです。
お題だけ渡されて作文をするのとも近いかもしれません。
お題しかないので文章構成は自分で考えますよね。
曖昧な覚えの漢字や熟語があれば辞書を引きますよね。
大枠すら考えずに書き始めるということもないですよね。
そして書いた文章を元に推敲しますよね。
これもプログラミング・アプリケーション制作における「設計」「実装」「テスト」の流れに非常に近いです。
それに人間って忘れるものです。
何か月、何年と関わっていたプロジェクトで作ったコード
早ければ数日で忘れてしまいます。
設計書を見ればある程度の構成は関わっていない人でもわかるでしょうけど、
実装はまた別の話です。
それでも保守・メンテナンスをする際に「読んで意図が分かるコード」にしておくことも非常に大事なのです。
コメントは重要ですね。
なので、例え自分しか関わらないようなローカルなアプリであっても、
「次にそのアプリのコードを見るときは他人が作ったものである」という前提で作っていくと良いです。
投稿2020/10/22 10:59
総合スコア80875
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
そもそも前提が違います。
こういうものは**「すべて覚える」ではない**です。
概念を理解して、使えればそれでいいのです。
暗記はみんな、無理です。
「記憶しろ! 検索するな!」っていう先生がいたら、私ならキレますね。マジで。
そういう教える人も完璧に暗記なんてしていません。
たとえば C#や .NET Framework のリファレンス リファレンス1 を使って調べて見てください。
API (クラスとか)だけでも100ページは余裕であるはずです。
また、バージョンによって使える・使えないとかもあったりします。
また、ほかのライブラリを使う場合はそれも覚えないといけないはずです。
無茶ぶりでしょっ…って感じですね。
最低でも、
- 基本概念( for, while, 変数, 配列 etc. ) を理解していること
- 自分なりに仕様をまとめ、自分なりに組めること
- 自分でデバッガ等を用いてデバッグやテスト(論理エラーが無いか調べる系の)ができること
ができればいいのです。
弁護士もそうらしいです。法律をすべて暗記しているわけじゃなく、大体の概念(どういうときに法が適用されるか等)を理解して、その都度調べているらしいです。
それと一緒で、「その都度、調べている」のです。
プロですら。
なので『覚える必要はない』が、「自分で考え、調べ上げる能力」があれば十分なのです。
で、アドバイスを。
「実際に何か作品を作ってみて」ください。
ただ教科書を読んだだけでは身に付きません。
座学で逆上がりとかを習得しようとするようなものです。自転車でもいいですが。
普通は実際にやってコツをつかみますよね。それと一緒です。
ただし、「●●作りたいからコードくれ」じゃなくて「自分で設計し、自分で組み、自分でデバッグまでする」です。
あとは「データ構造とアルゴリズム」や「デザインパターン」(こっちはオブジェクト指向系の言語の場合) をやってみる。これは先人たちの知恵です。
AtCoderとかのような競技プログラミングをやってみるのも手です。(基礎ができている前提ですが)
頑張ってください。
投稿2020/10/23 14:03
総合スコア4962
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。