Javaプログラマーに質問です。
みなさんは例えばデータベース接続やファイル読み込みなどのプログラムを自分の記憶だけでコーディングすることはできますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答11件
0
一字一句正確に暗記していないとエラーになる訳なので、javaに限らずあまり現実的ではないと思います。
ネットが使えない、本が自由に見られない、という環境でプログラミングをするシチュエーションもほとんどないと思いますし。
それより重要なのは、実現したい事が出て来たときに「そういえばこんな命令(キーワード)があったなぁ」と頭の片隅に浮かぶように引き出しを増やしておくことではないでしょうか。
投稿2016/10/02 12:24
編集2016/10/02 14:08総合スコア1894
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「暗記しなくて良いよ」という回答自体はもう多数派なので、
その理由について掘り下げていきます。
こういう質問が何度も出てくる背景には誤解があると思います。
プログラミングを始めた頃は、命令を暗記することによって、
早く書けて、プログラムの作成が早くなると思いがちです。
しかし、ある程度プログラミングを習得してから、
実際に時間がかかるのは、デバッグをしたりコードを読む部分です。
コードを書くときも、まず読む必要があるわけです。
ですから、命令はマニュアルなどのドキュメントで調べて、
高凝集・疎結合のシンプルなプログラムにしたり、
可読性を上げて読みやすくする部分に労力を注ぎたいのです。
ネットで見る意見では、コーディングを何秒、何分か早くするとか、
何行か短くすることにこだわりがちですが、
ある程度規模が大きいと、デバッグに何日もかかったりするから、
そこの負担を減らすのが一番効率的なんです。
投稿2016/10/03 13:09
総合スコア5592
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
データベース接続文字列は、ほぼコピペです。ファイル操作は素で書ける環境もあれば、そうでないのも、それぞれですね。
頻度によってどこまで覚えるかは決めてます。
データベースの接続に関しては、システムを新規作成する際に1回作る程度なので、年に何回もタイプすることはありえないので、書いてあるものを本番とテスト間で変更できる程度には覚えます。
ファイル操作も頻度が多いシステムだと、最初に扱うときに記憶します。プログラムコンテスト的なもので使うので標準入出力は空で書けます。Webでほとんど使わないよという場合だと、コピペです。
また、HTMLなどは空でかけることもある程度重要ですが、どんな設定が可能なのかリファレンスのどこを調べればいいのかを中心に覚えます。
ライブラリもリファレンスを繰れるまでというところは同じですが、よく使うオブジェクトはソースコードの確認やテストをして、徹底的に覚えていたりもあります。
とは言え、忘れまくりですが合格点を決めておかないとどこまでやったらいいのってところがあるので・・・
余談ですが、「プログラムがどのように動いているか完璧にわかってないとプロ失格だ」という人は質問攻めにしてやりたいと思っています。プロであれば、特にプログラマであれば効率を重視すべきという考えです。
投稿2016/10/03 01:39
総合スコア2883
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
いまちゃんと動いているコードからコピペしてチョコチョコいじることが一番多いですね。
関数リファレンスやらWeb検索やらで出てくるコードより、「自分の環境で動いているコード」
の方が手元にある分引用しやすいし、実績のあるコードとして信頼できます。
投稿2016/10/03 00:50
総合スコア356
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
JDKならソースが標準添付されているようになっていたはずだが
テンプレートとして持っているものを利用するのが楽かな
投稿2016/10/02 22:45
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
JDBCドライバを使ったPreparedStatementの使い方や、FileReader/Writerなどの使い方やお作法などがあることを知識として抑えておくほうが今は大切でしょうか。利用方法を知ることの方が重要でしょう。
それは、これらのI/Oを担うフレームワークが要件を満たせるならばそのまま使えますし、それはデータベースやファイルI/Oだけに限ったことではなく、他にもFTPやMQなどで自分で一から実装するよりも、すでに動作がある程度できあがっているものを使い、要件に満たせるか検証するだけで使えるからです。
投稿2016/10/02 16:03
総合スコア12011
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ynakanoさんに賛成です。
もし、「それほど厳密な表現でなく(ミススペルOKとかw)コーディングをできるか?」という質問であればある程度は可能でしょう・・・英語圏の人でもミススペルはよくあります・・・が、APIの機能とか覚えているかというとかなり曖昧もしくはこんなのあったっけ++?状態が多いと思います。
私はCを30年近く使っていますが、標準的な関数であってもいまだに打ち間違いをよくやります。そんな間違いを見つけるのはコンパイラ(IDEなら勝手に補完してくれますが)に任して、構文規則(演算の優先順位など)を頭の片隅においておけばいいと思います。javaであれば、Oracleのサイトを見ればたいていのことが分かりますから必要以上に頭に詰め込む必要はないと思います。
投稿2016/10/02 13:43
総合スコア6851
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
APIを全て記憶することは非現実的です
投稿2016/10/02 12:20
総合スコア4830
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。