[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/18 20:39 / Filesize : 277 KB / Number-of Response : 1025
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Java入門・初心者質問スレ Part.5



1 名前:デフォルトの名無しさん mailto:sageteoff [2017/09/29(金) 17:53:25.24 ID:XnizQSCA.net]
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.4
mevius.2ch.net/test/read.cgi/tech/1498828456/

79 名前:デフォルトの名無しさん [2017/10/01(日) 23:37:33.21 ID:fsOijMh9.net]
>>73
例外処理ガッんばれ

80 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:52:04.33 ID:zHdBRnxy.net]
Springなんかのフレームワークが息してる内は残るだろうね

81 名前:4 mailto:sage [2017/10/02(月) 01:12:35.76 ID:bion7b7Q.net]
レスが遅くなってしまい、すいませんでした。
>>4にレスをくれた方、ありがとうございました。

>>5
解答を見ても分からなかったので質問しました。
今は何となく理由が分かりました。

>>8
勉強自体はJDKでやっています。(コマンドプロンプトとメモ帳)

比較しても分からなかったです。

>>23
はい。やってみます。

>>56
しばらくスランプの時期もありまして…。
少し前くらいから気合入れて勉強を再開しています。
何とかしなきゃいけないというのはよく分かってますので…。

82 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 02:33:51.76 ID:cA7Tubsm.net]
だから「eclipse」っていう開発ツール落として来てそこでソースを書けって
そのレベルのくだらないエラーはコンパイルするまでもなくツールが教えてくれるから
ググってこんなことも出来ないなら向いてないからマジで諦めろ

83 名前:デフォルトの名無しさん [2017/10/02(月) 09:17:50.27 ID:EOa1zx84.net]
     _,,...,_
  /_~,,..::: ~"'ヽ
 (,,"ヾ  ii /^',)
    :i    i"
    |(,,゚Д゚)   ・・・
    |(ノ  |)
    |    |
    ヽ _ノ
     U"U

84 名前:デフォルトの名無しさん [2017/10/02(月) 10:44:23.50 ID:Xes2ugBy.net]
 
  ∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧
 <JDK!JDK!JDK!JDK!JDK!JDK!JDK!JDK!JDK! >
  ∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨∨
    、        、        、       、        、
  /っノ      /っノ      /っノ     /っノ      /っノ
 / /  ∧_∧ / /  ∧_∧ / /  ∧_∧ / /  ∧_∧ / /  ∧_∧
 \\(    )\\(    )\\(    )\\(    )\\(    )

85 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 23:42:47.15 ID:psZRHuxF.net]
        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / J  | | |/| ハ  / / ,/ /|ノ /l / l l l| l J ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| / ・  /
 |  D  l  トー-トヽ| |ノ ''"´`   rー-/// |  D |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  K   |       | l | ヽ,   ―   / | | l  K  |
 |  ! !  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄

86 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 23:55:56.25 ID:Mj5pQT00.net]
>>81-82
そういやFalcom Sound Team jdkは、再来年で結成から30周年を迎えるようだな

87 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 00:01:30.12 ID:0liCQr5x.net]
うるせぇよ



88 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 00:41:17.31 ID:zeC1HQPz.net]
>>78
巣に帰れ

89 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:01:26.75 ID:DMSv62cB.net]
>>79
初学者が迷惑するから相手するの辞めてくれ。

知らない人居るの?
◆BrBq2CJg6HGd  は無職の35歳で10ヶ月javaを勉強しています。

職歴、大学後に新卒で入社、28から35まで無職(自称、アセンブラ経験5〜6年)。
就職したいですと発言し、ハロワ行きません。
体力有りませんが、靴が痛むので歩くの嫌です。
失敗するのが嫌です。10ヶ月の期間JAVAを学習しました。
先行投資と言う名目で、無職ですが親に高級ノートPC買わせました。
10ヶ月の間、プログラミングの問題といたら?→時間制限がry 失敗したく無いです。準備ができてからetc
最後は無敵の40歳までに就職します。


私たちは、つい反応したくなる気持ちをぐっとこらえ、彼らに影響されないようにする方法を見つけなくてはなりません。
彼らが私たちに影響を与えることを許してしまったら、絶えずイライラしていなくてはならないでしょう。
今後の皆さんの課題は、超然として反応しないようにすることです。

90 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 08:12:28.96 ID:ZnOI5oFl.net]
>>86
誰が誰にレスしようとその人の勝手で外野が喚く事ではない
スルーを求めるなら関連レスすらスルーしておけばいい

知らない人居るの?
真・スルー 何もレスせず本当にスルーする。簡単なようで一番難しい。
偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。
3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。

91 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 19:58:22.56 ID:xjK/Oc+X.net]
質問です。
同一ディレクトリ・同一パッケージ内に、共にpublicで2つのクラス(RenshuA、
RenshuB)を作り、それぞれmethodA、methodBをpublicかつstaticで定義し、
methodB内でRenshuA.methodA();と呼ぶコードを作成したのですが、
コンパイルが通りません。
どなたか原因を教えて頂けないでしょうか。

92 名前:88 mailto:sage [2017/10/05(木) 20:01:15.37 ID:xjK/Oc+X.net]
それとエラーは「シンボルを見つけられません」というものです。
よろしくお願いします。

93 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 20:06:12.40 ID:PaSIQ/4V.net]
それだと推測でしか答えられないから
ソースをコピペしてほしい

94 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 20:08:27.60 ID:qdkn4E5e.net]
>>89
コンパイルはどのようにしたのか?

95 名前:88・89 mailto:sage [2017/10/05(木) 20:49:30.26 ID:xjK/Oc+X.net]
kenshou2という名前のディレクトリ・パッケージ内に、クラスRenshuA・
RenshuBが入っています。

以下RenshuA.javaのコード
package kenshou2;
public class RenshuA {
public static void methodA() {
System.out.println("A");
}
}

以下RenshuB.javaのコード
package kenshou2;
public class RenshuB {
public static void methodB() {
System.out.println("B");
RenshuA.methodA();
}
}

RenshuAはコンパイル通っています。
コマンドプロンプトにおいて、javac RenshuB.javaと入力しました。

96 名前:デフォルトの名無しさん [2017/10/05(木) 22:22:46.50 ID:Iw1gUCSC.net]
>>92
javac - Java programming language compiler
docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#searching

| The compiler searches for class files first in the bootstrap and extension classes,
| then in the user class path (which by default is the current directory).
| The user class path is defined by setting the CLASSPATH environment variable
| or by using the -classpath command line option. (For details, see Setting the Class Path).

コンパイラは、まずブートストラップクラスと拡張クラスのクラスファイルを検索し、
次にユーザークラスパス(デフォルトではカレントディレクトリ)を検索します。
ユーザークラスパスは、CLASSPATH環境変数を設定するか、
-classpathコマンドラインオプションを使用して定義します。

クラスパスのオプションが指定されていないのでユーザクラスパスはカレントディレクトリですよと
パッケージ名がついてるときはパッケージ名と同じディレクトリがないといけないですよと
なのでこうかな

javac -cp ..\ RenshuB.java

cd ..
javac kenshou2\RenshuB.java

97 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:44:07.57 ID:RWFlOlgJ.net]
Java は、実際のフォルダ階層と、

各クラスのパッケージ階層を、同一にしないといけない



98 名前:88・89 mailto:sage [2017/10/06(金) 04:22:34.25 ID:GT9/18A+.net]
>>93 >>94
丁寧にありがとうございました。やってみようと思います。

99 名前:デフォルトの名無しさん [2017/10/06(金) 05:37:22.47 ID:JP/D7qWJ.net]
JSFを勉強しているのですが、JSF2の参考書は分厚い難しそうなのしかないのですが、JSF1とかの参考書は
Amazonの中古で割と砕けた感じのがありとっつきやすそうなのですが、JSF1と2ではやはりだいぶ違いますか・・?

根幹とかが一緒なら、やってみたいとも思うんですが・・。

100 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 10:28:44.48 ID:ao3GcIPR.net]
>>96
俺は1覚えた状態から2を覚えたけど、今なら最初から2の方がいいでしょ。というか、俺は5年前にJSFを捨てた。当時は気に入ってたけど、今時のweb開発とは全く違うから。
内部で使う管理ツール的なアプリならいいけど、普通のアプリはちょっと辛いよ

101 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 01:10:37.77 ID:hbsbK/yL.net]
実際の現場で、新入社員等に○○されたら
ブチ切れる……みたいなことありますか?
JAVAか、少しスレちですが開発現場関係で
教えてくださいませ!

102 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 01:49:50.25 ID:TOf4XrGv.net]
少しどころではない

103 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 01:58:15.50 ID:X3i4AnjM.net]
板違いだな
マ板向きの話題か

104 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 02:05:12.73 ID:hbsbK/yL.net]
そうですか……
すみませんでした

105 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 06:48:08.91 ID:Iqz4qArZ.net]
プログラマの雑談部屋 ★16
medaka.5ch.net/test/read.cgi/prog/1507354689/

106 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 19:12:48.63 ID:gbjNFn3Z.net]
変な改行
変な顔文字

107 名前:96 [2017/10/11(水) 11:38:51.27 ID:Ys/lPH2g.net]
だいぶ亀レスですが、ご容赦ください・・。
>>97
やっぱそうですよね・・。どのWebページ見てもJSFは2からやったほうが良いようなことを書いてあります。
JSF1はくだけた解説書があるのですが、JSF2はあんまりないです(´・ω・`)…

Kindle本で評判悪いですが、あるのでやってみようと思います。KindleUnlimtedに加入すると0円らしいです・・・

お礼が遅くなりすみません。どうも体調が悪くて・・・。しかし、今時のWeb開発とは違うんですね・・。

私がやってたころは、Strutsしかなかったのに・・・。



108 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 12:44:18.73 ID:uj1SUlbB.net]
保守作業するんでもない限り今からやるならspringのほうが良いだろ
むしろspringがあるからJava使うレベル

109 名前:104 mailto:sage [2017/10/11(水) 15:33:31.63 ID:Ys/lPH2g.net]
>>105 Springってそんなにいいんですね。図書館にSpringの本がたくさんあったので
それやってみようと思います。J2EE関連の本はJSFばっか取り扱っているので、Springなんておまけみたいなものなんだろうと思っていました。それ、やってみます。

どうもありがとう。

110 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:30:44.86 ID:QnvmwpWa.net]
プログラミング GROOVY、2011

Spring Framework 4 プログラミング入門、掌田津耶乃、2014
Spring Boot プログラミング入門、掌田津耶乃、2016

111 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 02:29:30.72 ID:uD/G1fwI.net]
プログラミング速度を上げる方法を教えてください。
バリバリの初心者で、とにかくベタベタ上から書いています。
しかし、先を見据えてないので、書いて消して悩んで……で
時間だけが無駄に過ぎていきます(;;)
(料理の初心者が、あたふた料理している感じ)
何回なアルゴリズムをすぐに思いつく! ではなく……
普通のアルゴリズムの普通のソースコードを、
たんたんと書いていけるようにしたいのです。
(料理人が危なげなく、並列して料理している感じ)

みなさんは、どうやって開発、記述しているのでしょうか?

112 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 02:47:30.24 ID:D7OLf+6g.net]
>>108
行き当たりばったりに書かないで
全体から書いていくと良い

具体的にはUML(のクラス図とか)を書く
慣れたらいちいち書かなくてもいいけど
最初のうちは書いて全体の見方を覚える

そうすると料理で言ったら煮込んだり
時間のかかる調理をしながら
下ごしらえをするみたいなことができる

要するにムダがなくなる

113 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 08:39:52.77 ID:Qd5qTvbC.net]
>>108
プログラミングで言うソースは
料理で言うレシピみたいなもんだからな
慣れだよ慣れ

114 名前:104 [2017/10/12(木) 09:00:15.46 ID:fTkEvokp.net]
>>107
ありがとう。その2冊は図書館にあったので、見てみます。前から、ちょっとは見てみたいな…と思ってたやつです。
あと掌田津耶乃さんはけっこうSpringとかGroovyとか推してますよね(´・ω・`) JSFでググったときに出てきました。

一度読んでみます。ありがとう。ステマじゃないよw

115 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:17:19.57 ID:uD/G1fwI.net]
>>109
UMLは全図を勉強しましたが、もっぱらクラス図を見るだけですね。(〜_〜;)
クラス図以外は使っていないので、だんだんと記憶が……。
例えば、下記のような仕様のソースを109様が開発するときは、すらすらとクラス図にできるのでしょうか? もしコツがあるならご教授ください……! 
稚拙な例ですいません(><)

「なんでも計算機」
・基本機能は加減剰余のみ。
・プラグイン形式で数学的計算機能を追加可能。
(開発者が追加していくパターン)
・プラグイン形式でユーザー独自の関数を追加可能。
 ・方法:テキストファイルに決まった形式でユーザーが関数を書き込み、
     それを取り込み、機能を実現。

>>110
慣れ……ですか。(><)
110様の普段のコツは無いのでしょうか?

116 名前:109 mailto:sage [2017/10/12(木) 09:48:27.62 ID:D7OLf+6g.net]
>>112
>「なんでも計算機」
3D描画エンジンとかもそうだけど
そういう専門的なものを作る場合は
UMLとか一般的なOOP手法だけじゃなくて予備知識がいる

例というだけじゃなく本当にその仕様を実現したいなら
インタプリタとか言語処理系の知識が必要
「バリバリの初心者」向きの題材じゃない

117 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:06:35.94 ID:UV6Mfibu.net]
>>108
設計を学ぶ



118 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:18:21.19 ID:Qd5qTvbC.net]
>>112
自分用にあったら便利そうな小さなツールから作っていく
次第に「あれとあれ組み合わせたらいいのできるかも?」みたいに思いつくから
段々規模を大きくしていく

でももし趣味とか好きだからじゃなく仕事で仕方なくとかなら思いつきにくいかも

後々土台の変更が必要になったりしてもいいなら
まず単純に加減乗除の式だけテキストから読み込んで実行できるようなのを作ったら
後は機能追加でいいから土台だけでもやってしまうとか

何桁まで扱うようにするのかとか多倍長整数まで扱うのかとかも要検討かな

119 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:18:29.49 ID:Aq/Tc0l7.net]
>>98 >>108
誰かに怒られたのか?

120 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:21:03.26 ID:W4Y9jhaF.net]
面白いことに「数式を入力して計算するアプリを作る」よりは「色々な数式ボタンをつけた電卓を作る」ほうがずっと簡単なのだ
テキストパーサの知識はゆくゆくはあったほうがいいが、初心者がやるもんじゃねーな

んで、もし

プログラミング行為自体が遅い(1時間に打つ文字数が少ない、等)と思った場合:
・ 文字列やコレクションが持つメソッドの動作、高度な制御構造の使い方だけは絶対に記憶しておく
(書き方は覚えなくていい。「配列を○○する方法ってそういえばあったな」と気付ける程度でいい)
・ メジャーなデザインパターンを、これまた基本的な動作だけやって納得しておく(書けなくていい)

7割くらい機能ができた時点でかなり消して3割くらいから書き直すが動かない、みたいなことが頻発する場合:
・ gitや、gitや、あとgitのようなバージョン管理システムを利用する
(git類は「ここまでできたので保存しておく」「壊してしまったので保存時点まで戻す」「試しにコピーして改造する」がすぐできる。必須)
・ 上記に関し、メソッド単位で編集保存するという作り方を心掛ける(いきなりあちこち書き換えない)

メソッドAを使うメソッドBを作ったのだがそのまま動くと思ったメソッドAでエラーが出る、みたいな「このメソッドいきなり動かなくなった」が多発する
・ "ユニットテスト"を導入する。小難しい議論が大量にあるが当座「このメソッドはこの引数Aの時戻り値Bを返す、Cのときは実はD」という使い方でいい

UMLやクラス構成図を使っているのにぐちゃぐちゃになるという場合:
・いまのあなたに必要なのはもっと自由ならくがきである可能性が高い。方眼プロジェクトペーパーと書きやすいペンを用意しよう

121 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:46:27.97 ID:UV6Mfibu.net]
UMLは設計を整理したり人に伝えた

122 名前:閧キるもので
それ自体が分析設計を生み出すものではない

分析設計を生み出すのは開発手法
RPとかOMT
[]
[ここ壊れてます]

123 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 14:10:31.81 ID:o8TlX9Z0.net]
>>108
大きな問題を小さな問題に段階的に繰り返し分解する
十分に粒度の小さな問題の解法は何度も必要になるのでメモするなりしてすぐ参照できるようにする
>>117が書いてるような文字列操作・コレクション操作・制御構造なんかはこのレベル

少しやってれば上のようなレベルは資料を見なくてもすぐ出来るようになるので
次はそれらの小さな問題を集めたもう少し粒度の大きい問題を解くパターンを認識して
それらをメモするなりしてすぐ参照できるようにする

これを繰り返していけば問題に対する解法をすぐに思いつけるようになる
それぞれの解法に対応したスニペットや汎用的な抽象化コードを用意しておけば
考える速度だけじゃなく書く速度も上がる

小中学校の算数・数学の問題を速く解くための勉強方法と基本的に同じ

124 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 14:27:19.38 ID:W4Y9jhaF.net]
もしにひょっとしてIDEを使っていないのならIDEは使ったほうがいいよ
IDEなしにいまどきのJavaなんてタチの悪い修行だよ
書かないと覚えないだろなんてのはその「書くべきこと」が1行で済むような場合だけだ
IDEの使い方(正確には実行設定の仕方)とトラブル対処を覚えないといかんのでちょっとアレなのだけれど、そこをなんとか

125 名前:デフォルトの名無しさん [2017/10/12(木) 21:08:07.21 ID:chOTaJW5.net]
「あるサブクラスのオブジェクト」から、
「そのスーパークラス」や「スーパーのスーパークラス」の
属性やメソッドを使用するのが苦手です。
サブクラス上から見えないからです。
エディタなどで上手く一覧する機能ありませんか?
importしたライブラリのメソッドや属性もどういう構成になっているか
がわかりません。

126 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 22:53:15.60 ID:jZh2ph1X.net]
ide

127 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 00:22:43.72 ID:uBikma4h.net]
そもそも実装を継承しないのが良い
「継承より委譲」



128 名前:デフォルトの名無しさん [2017/10/13(金) 00:24:47.19 ID:24qBoS+k.net]
>>123
継承を委譲に互換できるようにリファクタリング
する方法はありませんか?

129 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 00:39:26.87 ID:uBikma4h.net]
普通に継承を委譲(集約)に
置きかえていけばいいんだよ

130 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:37:40.23 ID:xmEIYn5a.net]
>>113
なんとこの例は専門的なものだったんですね。
思いつきで考えた例なので申し訳ありませんでした。

>>114
設計がうまくなりたいです。
そうすれば眠る時間も増えそうです……。
(z_z)

>>115
小さなツールというのは再利用可能なクラスということでしょうか?
正直、私の作ったクラスはネストと専用処理だらけで再利用できないのです……。

>>116
怒られたというか、注意されました。
上司、先輩に確信を持ってコーディングしろと……。
担当レベルで「バグ0」にして提出と言われたので、今回のような
質問をしたら、「根性で学んでこい、とにかく動けばいい」と……。
根性で何を学んだらいいのか教えてもらえませんでした。
スレのみなさんの意見で、たぶん「設計」を学ぶと良いのかなと思いました。

131 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:38:26.90 ID:xmEIYn5a.net]
>>117
丁寧に助かります。
GIT調べてみます。
ユニットテストはprintlnでログを確認してます。
私の開発手順は……
・口頭で「xxxなクラスを作ってくれ」と指示を受ける。
・クラス名を考えて、とりあえず必要そうなフィールドを書く。
・ここで手が止まる。(何か書かなきゃ、そうだ! アクセッサ!)
・全フィールドのアクセッサをかく。(焦る。とにかくメソッド書かなきゃ!)
・時価の商品価格を計算するとしたら、メソッド名(calcPrice)を書く。
・とりあえず分岐はするはず! そうだif文の枠だけ書こう!
・(省略)以下、確信なく恐怖でベタベタ書く……
・ifネスト、forネスト、switchネストな恐ろしいメソッドが1つできあがる。
(アクセッサ抜かすと、大抵はpublicメソッドが1〜2個しかない)
・printlnでログみてテスト。一応動くが、確信は無い。
・(そして大抵は)仕様変更、追加のお知らせが届き、デスマーチへ。
(合間に結果としてのエラーも当然でて、ブレークでトレースしてると
あっというまに1時間経ってます……)

>>118
RP、OMT、調べて参考書探してみます。

>>119
その粒度を小さくするという作業が「設計」ということでしょうか?
数学(簡単なもの)ならその分解作業が可能なのですが、
ことシステム設計になると、とっかかりが見つからないのです……。(><)
数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。

>>120
エクリプス使っています。
といっても、フォルダ管理と構文チェック、結果ログ見る程度です。

132 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 09:32:14.92 ID:GrUYgy4I.net]
>・口頭で「xxxなクラスを作ってくれ」と指示を受ける

この時点で既に常識的な開発現場としてありえないんだが
ユニットテストまでやって仕様変更云々って言ってるってことは
もう詳細レベルまで落とし込んだ仕様があるのに口頭でやってとかありえんだろ
詳細設計書あるならどういう作りすればいいか壊滅的な馬鹿でもない限り誰でもわかるし
作り終わったらテスト仕様書作ってテストするから仕様変更やデスマーチも糞もねぇだろっていう
お前のところ色々おかしいかお前が意地悪されてるか敢えて何かを試されてるか何かだと思うわ

133 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 09:44:47.25 ID:GrUYgy4I.net]
ネストしまくるような複雑な条件の仕様を口頭で言うとかありえないから
とりあえず実際にどういう指示されたか書いてみ

134 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 09:51:55.46 ID:1VCWZvPT.net]
>>128
いやテストしてないと思う
"ユニットテスト"ってきちんと書かれてるのに「プログラムの動きをテストすること」だと思ってる(だからprintlnという頓珍漢な答が)
https://qiita.com/takehiro224/items/a5d4265c4a1b36b0919c
ともあれ最初の業務でやってるのならツール的なアドバイスは無駄かもしらんね

135 名前:デフォルトの名無しさん [2017/10/13(金) 10:37:26.01 ID:a1m8Fd6w.net]
配列定数はイニシャライザーにおいてのみ使用可能です
これどういう意味ですか?

136 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 11:20:18.34 ID:1VCWZvPT.net]
>>131
それ自体はそのまんまの意味だが、配列リテラルを代入し損ねてるときに言われることが多い
その代入の書き方は本当に合ってる? arrじゃなく arr[ ] とかが必要なんじゃない??

137 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:38:08.18 ID:+zTlsJiZ.net]
>>127
>その粒度を小さくするという作業が「設計」ということでしょうか?
設計の一部だけど全部じゃない
一つの問題に対して解法は一つではないので
複数ある選択肢からどの解法の選択するかが設計の核
問題の分解方法は解法選択の一部


>数学で言えば、計算式は解けるが、文章題から計算式が導けない感じです。
これは問題を明確に定義できてないから
明確に定義されてない問題は解けない

「xxxなクラスを作ってくれ」と指示を受けたらまず以下3点を明確にする
1. なぜそのクラスが必要なのか? クラスの責務は何か?
2. そのクラスに必要なパブリックインターフェースは?
  - 例外を含めた入力・出力の型(メソッドシグニチャ)
3. どういうテストをパスしたら十分なのか?
  - 事前条件、事後条件、不変条件

3点とも指示を出した側に質問する必要がある(嫌がられてもしつこく)
特に3の何ができたら問題を解けたと言えるのかを明確にするのが一番大事


問題の定義と解法の選択、解法の選択の主要な方法として問題の分解がある
算数で考えればものすごく当たり前だよね



138 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 16:00:23.53 ID:uBikma4h.net]
>>126
設計を考える上で標準ライブラリを参考にするといい
たとえばどの言語でも日付なんかは標準になってる

そういう共通してて何度もおこなう処理を考えよう
たとえば価格の計算であちこちで何度も
税額を算出してるならメソッドにくくり出すとか

>>127
とりあえずクラス使ってるってだけで手続き的な
オブジェクト指向らしくないコードのようだね

なるべく深いネストは外していこう
メソッドに抽出してその組み合わせで処理する

そうして粒度を細かくすると
クラスやメソッドの数が増えて不安かもしれないが
重複が減るし読み書きしやすいから
その方が全体として作業量は減っていく

139 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 21:11:04.47 ID:xmEIYn5a.net]
皆様、いろいろご丁寧にありがとうございます。
指示は先輩が手帳を見ながら口頭で伝えられるので、
それを急いでメモするという感じです。とにかく忙しそうです。
具体的な内容は業務内容に触れてしまうので控えさせてください。

とりあえず、下記のことをやってみようと思います。
・設計の本で良いのがないか本屋で探す。
・仕様詳細をもっと聞く。
・まずクラス図を書いて、責務の粒度を細かくする。
・再利用できるメソッドを作るよう心がける。
 (といっても、どうやればいいのか……)

あとは、みなさんのレスを反芻していきます。
本当にありがとうございました。
最後の質問ですが、設計に関してのおすすめの書籍はありますか?
ぜひ、購入したいと思います。

140 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 21:36:38.72 ID:uBikma4h.net]
>>135
>設計に関してのおすすめの書籍

まずJavaやOOP自体に慣れてないなら
『スッキリ Java』が一番やさしい

狭義の設計じゃないけど設計力の土台になるのが
『Javaで学ぶアルゴリズムとデータ構造』

本題の設計は難解な本が多いから
UMLの本とかデザインパターンの本とか個別のテーマで
やさしそうな本から読んでいくのがオススメ

メソッドの抽出とかは『リファクタリング』に
いろんな手法が載ってるから
ある程度JavaやOOに慣れたら読んでみよう

141 名前:デフォルトの名無しさん [2017/10/13(金) 23:16:37.77 ID:JHJOvcP0.net]
>>127
アクセッサは、アノーテーションを付けるだけだろ

テスト駆動開発(TDD)でやる。
最初は関数で処理を作っていき、だんだん高度になってくると、クラスにする

142 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 03:37:43.62 ID:mgPn9dNJ.net]
書いてる内容見る限り、立ち位置的に設計云々とかクラス図とか
考えるレベル以前の問題で職場の奴はそういうのは求めてないように見える
言われて作ったクラスがどういう使われ方してるのかもよくわからんし
書いてる事から想像するに、勉強も兼ねた誰かの手伝いとして適当に使われてるだけだろ
いずれにしても作業指示の仕方が糞すぎるからそこは辞めた方がいいよ

143 名前:136 mailto:sage [2017/10/14(土) 04:10:51.25 ID:ZBYXJflL.net]
>>136
>『Javaで学ぶアルゴリズムとデータ構造』
あっ今検索したら同名の書籍があったけど
望洋の明解シリーズの奴ね
図解が多くて分かりやすいから

144 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 09:07:23.00 ID:9JuWfEXp.net]
>>135
> ・再利用できるメソッドを作るよう心がける。
1, これは再利用するだろうなってのをメソッド化
2, この処理は別の所でもやったなってのをメソッド化
3, 機能毎にメソッド化(分割や統合)できそうだなってのをメソッド化
他にもあるだろうけどこんな感じでいいよ

145 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 09:38:10.74 ID:5+/c+cYf.net]
自宅で自分用の(自分で勉強するための)プログラムを書いて慣れるというのがいちばんだと思う
業務指令で範囲限定されたコードだけ書いててもまっっっったくメソッド感覚(?)は身につかないよ
だって「そんなことしなくても動く」もの、業務中にやる理由ないよね

146 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 10:59:53.02 ID:K4XROtS+.net]
口頭で伝えるのは後から改変するための常套手段
証拠は残さない

147 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:03:35.03 ID:K4XROtS+.net]
なぜこのクラスが必要なのですかと訊くと
キレ気味にいいから黙ってやれと言われる
別にイヤとかやりたくないとかじゃないんだけど適当な仕様だと文脈背景わからないと間違いの元
他の奴が黙ってやっちゃうから味を占めたんだろうな
また無駄な後戻り工数が生まれて実装のせいにされる



148 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:22:15.08 ID:+XwGR1nT.net]
わかってないだけだって
人はわからないことを聞かれた時に不機嫌になるってのはわかるだろ

149 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:24:26.80 ID:+XwGR1nT.net]
>>142
そのせいなのかメールで聞くと返事が返ってこないやつはマジでイラつく
そういう奴は無責任の意気地なしとみなす

150 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 13:23:40.40 ID:ZBYXJflL.net]
>>135
>・再利用できるメソッドを作るよう心がける
間違ってもいないんだけど実際には

最初から再利用を目指すより
リファクタリングで重複した処理を
メソッドに切り出す方が簡単なんだけど

「動いた物をいじるな」という職場だと
まあそっちもそっちで難しいよな

151 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 13:24:19.64 ID:lMgWewwv.net]
>>145
口頭で聞いた後に

先程の備忘です。
認識齟齬などあれば返信にて訂正願います。

とかなんとか理由付けてこっちからメール送ればいい
一手間かかるけどある程度身を守れる

152 名前:デフォルトの名無しさん [2017/10/14(土) 13:44:26.23 ID:YpZiBRe4.net]
>>142
じゃあ録音しとけ。
または忘れやすいということにして詳細にメモをする。

153 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 19:47:58.75 ID:/I4SGVxg.net]
>>136
書店で推薦書を購入し、
1「スッキリ」の2冊
2「Javaで学ぶアルゴリズムとデータ構造(明快シリーズ)」
の順番が良いかと思いましたので、
本日からスッキリを学んでいこうと思います。
ありがとうございました。

>>138
おっしゃる通り、重要業務は任されていないと思います。
今はとにかくスキルを上げたいと考えています。

>>140
たぶん再利用可能メソッドは標準ライブラリで提供されているような
ものだろうと思っています。
なんとかくくり出せるように考えてみます。

>>146
デザインパターンをマスターすると保守しやすいクラスや
メソッドになると知りました。
デザインパターンとリファクタリングも学んだほうが良いようですね。

154 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 01:07:03.66 ID:y0fiNdyH.net]
今から「スッキリ」で勉強を始める、素人か。
そんな奴に、一々説明していたら、数年かかる

オブジェクト指向を知らない奴は、仕事でプログラミングしたら、いけないレベル

少なくとも、Java の本を10冊読んで、資格や数年以上の経験が必要

155 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 01:23:31.23 ID:hZRxEBGG.net]
本10冊くらいはそりゃ読む必要あるけど
資格や経験年数はほとんど関係ないよ
本人の素質と努力次第

156 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 01:38:06.25 ID:h2ngFzeR.net]
新卒?中途採用?
何歳か知らんけどプログラミングほとんどやったことないなら
普通研修みたいなの1か月ぐらいは与えられるもんだが今がそれなのか?

157 名前:デフォルトの名無しさん [2017/10/15(日) 01:56:56.82 ID:ZgJv24or.net]
その辺はその会社次第なんじゃないの? 教育やる余裕がない小さい会社とか
大きくてもその辺のこと分かってない会社とか色々あるだろうし。

ま、しかし、基本的にワザは教えて貰うよりは盗んだ方が良いだろうな。
自分で求めてこうだと分かったことなら忘れないが教えて貰ったことは忘れるから。

なんてことをこの前テレビで坊さんが言っているのを聞いてその通りだと思った。



158 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 02:43:30.36 ID:XpJLTK+d.net]
Javaの「スッキリ」はRPGで言うと
「ひのきの棒」や「竹のやり」みたいな初期装備だが
丸腰よりはるかにマシ
「明解」でやっと「銅のつるぎ」

ファウラーの「リファクタリング」や
GOFのデザパタやエヴァンスのDDD本は
もっと高級な剣だが
レベルが足りないと装備できない

159 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 08:18:45.28 ID:RBDvyi+r.net]
ひのきの棒という役割を演じるゲームか
シュールだな

160 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:24:42.40 ID:atfl3lAe.net]
>>154
そのスッキリは入門編(黄緑の方)のことですよね?

161 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 18:51:46.03 ID:XpJLTK+d.net]
>>156
そうだよ

でもスッキリ2冊読んで終わりとか
それほど甘くはないよ
スッキリは基本的に初心者向け

162 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 18:53:06.03 ID:XpJLTK+d.net]
>>155
本が役割ってのがよく分からない

163 名前:デフォルトの名無しさん [2017/10/16(月) 16:09:19.43 ID:4dXapby2.net]
オブジェクト指向はあまり良くないだろな。
GUIと相性が良かっただけで、その他一般的な問題とは親和性が低い。

164 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 19:04:15.39 ID:BLPcXnhp.net]
オブジェクト指向が一番汎用的だと思う
DDDがOOメインなのもそこだし

165 名前:156 mailto:sage [2017/10/16(月) 20:19:21.78 ID:tOLHzrTo.net]
>>157
レスが遅くなってすいません。

そうですよね、ありがとうございます。
でも今の自分には実践編(緑の本)の中盤以降が結構難しいです…。

166 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 14:09:59.12 ID:ywtVys1/.net]
オブジェクト指向がマッチしないと言っているのは
設計を構造化とかどやっといて
オブジェクト指向プログラミング使えないと言ってる奴がよくいる
機能とか流れって出てきたら注意

167 名前:デフォルトの名無しさん [2017/10/17(火) 14:22:15.60 ID:H+HUM8Ad.net]
オブジェクト指向がよくわかってないからマッチさせられないだけではないか?



168 名前:デフォルトの名無しさん [2017/10/18(水) 10:19:44.01 ID:LGKAL/cG.net]
>>156
リストの頭だけを掻き集めてリスト化したような良書ではある

169 名前:デフォルトの名無しさん [2017/10/18(水) 11:33:37.26 ID:NAca40Iu.net]
Javaスレ少なくなったなあ。

170 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:05:23.13 ID:W6T+19ej.net]
ことりんに横取りされちゃう

171 名前:デフォルトの名無しさん [2017/10/18(水) 12:11:48.42 ID:NAca40Iu.net]
メモリー使用量が個人利用の壁になっているんだろうな。

172 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 18:27:07.39 ID:cbmCwNcY.net]
Javaの個人利用が難しいのは
安いレンサバで使えないのが大きいのでは

173 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 22:32:18.55 ID:FgeE42WT.net]
大抵PHP.良くてPython.ruby止まりかな

174 名前:デフォルトの名無しさん [2017/10/19(木) 03:47:23.04 ID:ymhc97rd.net]
何故使えるようにならなかったのか考えないのがJavaユーザぽくていいよね。

175 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 09:32:34.88 ID:vpgxLHGK.net]
スクリプト言語はその場で書き直しゃ動くからねぇ
JavaとかC#とかはビルド→デプロイまたは
ビルド→パッケージング→デプロイとか面倒
GAEはどこまでショートカットしてくれるのか知らん

176 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:11:01.39 ID:gt24D1Vb.net]
俺って大体そこらへんの能無しより2倍ぐらい仕事早いほうなんだけど
金融系の内部管理システムで1画面にボタンが20個ぐらいあって
段階的に5回ぐらい認証する機能で鬼のように状態持ってるから
設計書の相関チェックも凄いことになってて当然こんなレベルの機能だと
設計書にも不備ありまくりで実装してく度に何十回も設計者と確認しないといけないレベルで
外部結合で持ってくる情報も鬼の用にあるからSQLも100行超えるわ
外部ファイルも取り込んだりするわでエビデンスのページ数も余裕で100ページ越えるレベルで
これが最初テスト完了まで2週間ぐらいの線表で
毎日残業して1か月かけて作ったらプロパーが後ろで「こんだけ時間かけられるとは思わなかったわ」とか
嫌味言ってくるのが典型的な能無し無能システム会社なんだよな

177 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:22:12.67 ID:gjuTpzaj.net]
で?



178 名前:デフォルトの名無しさん [2017/10/19(木) 12:24:42.39 ID:ScM6nrf0.net]
そういう無理のあるものを断れない立場に居ること事態が既に能のある状態とは言えない

179 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:41:04.00 ID:gt24D1Vb.net]
過疎ってるから暇つぶしに書いただけだ
プログラムやらず嫌いのプロパーしかいない無能会社の中でも大ハズレの部類
当たりはバグ調査が全然できないプロパーがいるところのバグ調査担当






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef