Androidアプリ初心者です
テキストを1冊購入
↓
テストアプリをいくつか作成
↓
アプリを1つリリース
↓
(半年くらいのブランク)
↓
2つ目のアプリを作成中
という段階です
1つ目のアプリを作っているときに、当たり前ですが、テキストに書いてない知識が必要になりました
その都度、ネットで検索→記事を読む→自分のアプリで実装とやっていたのですが、勉強の仕方がこれでいいのか不安になってきました
1つのテキストで必要なことが全て網羅されていないのは当然ですが、毎回検索するのもなんだか効率が悪いような気がしています
何かおすすめの勉強法/Androidプログラミングの本などあれば、教えてください
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
前提
プログラミングをする上で調査をすることは避けられません。
言語や言語の動作環境について完全に暗記することは不可能ですし、そもそも公式ドキュメントにミスがあったり、言語そのものにバグがあることもあります。
かつ、学習の仕方は人によって異なるので自分にあった学習方法を見つけるしかないと思います。
という前提に立つと
「如何に効率よく調査出来るようになるか、調査する能力を鍛えるか」という点を考えて学習方法を模索してみると言うのが一つの方法になるかなと思います。
私の場合
私の場合、以下の様な事が役立ったように思います。
思いついたままに書いたのでレイヤーもばらばらですが、何かの役に立てば幸いです。
- まずは数をこなす
同じフレームワークでも言語でもいいので、いくつもアプリケーションを開発すると、だんだんと手癖で開発が出来るようになってきます。ちょっと分かった気分になり、自分に自信が持てたり、思いついたものをパッと作れるようになるので作る事自体が楽しくなってきます。(作る事自体が楽しく無い場合は、義務感であったり使命感、対価に見合った労働としてプログラミングをすることになり、その場合の対応方法はどちらかというとビジネス書で方法論を探したほうが早そうです。)
- コーディング以外の部分の知識も得てみる
コーディングについての知識や経験が足し算として働くとすると、デザインパターンや設計手法、開発手法、ドキュメント作成方法、情報処理全般の知識などの直接コーディングに関わらない部分は掛け算として機能すると思っています。
最初は理解できなくていいので、とにかく詰め込んでおくと、実際に開発している時にふと理解したり腑に落ちたりして、視野が一気に広がることがあります。
視野が広がると、検索したいことが全体のどのあたりに存在しているものなのかが把握しやすくなり、検索の手探り感が減ってきて、未知の分野でも調査/検索をしやすくなったりします。
例えば、IPAの情報処理技術者検定なんかは教科書も豊富にあって浅く広く、体系的に知識を得るのに役立ちます。
- コピペで終わらせない
少なくとも、自分でコードを書いた部分(たとえその元のコードが検索してたどり着いたものでも)については、「わからない部分がわかっている」状態までは理解してから組み込む。もちろん、わからない部分が存在しないことがベストですが、自分で責任を取れる範囲であれば理解を後回しにするのもありだと思います。
- 外部仕様をきっちりと決めてから作リ始めてみる
それなりに経験を積んでいるプログラマ(30代とか)でも、結構な割合で外部仕様を考えてから作り始めるということが出来ない/しない人が居ます。 そういう人は多くのケースで調べるのが下手だったり、調査に時間がかかったりする傾向があるように感じます(逆に、コーディング自体は早くて正確だったりします)
最初にアプリケーション全体の仕様を考えるのが難しければ、ある一連の処理だけ、それも難しればクラスだけ、メソッドだけ、メソッドの中のある処理だけ でも、先に外部仕様をきっちり決めてからコーディングをするようにすると、「実現したいこと」を整理する能力が獲得できると思っています。
「実現したいこと」が整理できていれば、実現したいことを構成する要素や要件を整理できてくるので、調査が効率的に行えるようになりますし、そのものずばりなコードが検索で見つからなくても何とかなるようになってきます。
- 他人に開発させる、チームで開発する
一人で開発をしていると、手を動かしていればいつかは完成する(してしまう)ので、なかなか問題点などに気付けないです。複数人でコミュニケーションをとりながら分担して開発する、お互いに指示やレビューをしあうという経験が出来るととても勉強になります。
他人が必要になる事なのでなかなか難しいのですが、他の方法では得られない成長の仕方が出来ます。
投稿2018/01/16 13:46
総合スコア18713
0
プログラミングというのは様々な知識の積み重ねの上に成り立ちます。それは積み木のように例えられることもあります。AndroidのようなSDKを用いるプログラミングは、その積み木の中でも一番上の層に該当します。Androidプログラミングの書籍というのは、当然ながら自分の層についてのみの解説が中心になります。直接触れる下の層については多少の解説がつくこともあるでしょうが、書籍の分量の問題もありますから、その下層を完全に理解できるほどの内容にはならないでしょう。
良いプログラムを作りたいと思ったら、なるべくは下から積み重ねていくのが理想だとは思います。ただ、なかなかそうはいかないでしょうから、その他層の理解の面で壁にあたったのなら、その層を専門に解説した書籍を求めるくらいの気持ちは必要ではないでしょうか。
まー、AndroidプログラミングをするのにはJava言語の基礎の理解は一通り必要ですよと助言しても、それを拒否る人もいるからねえ・・・。
投稿2018/01/16 09:45
総合スコア6768
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。