■ このスレッドは過去ログ倉庫に格納されています
コーディング、テスト、デバッグ、エディタ技術総合
- 1 :デフォルトの名無しさん:2016/08/26(金) 10:40:24.82 ID:QNADLP5T.net
- ・特定の言語や設計、アルゴリズムではなく、
・あくまでも「実装の方法論」について議論するスレです。
・補完、スニペットなどの「コードを構築する」効率的な手法や
テスト、デバッグ自の「操作」の省力方法や、画面構成、必要な構文を
調べる方法、コードベースの中を「移動」する方法、コマンドライン、
ファイル、ディレクトリ関連、必要なドキュメント、参考にするソースコードにた
どり着くためにコンピュータやインターネットを「探索」する技術などについて議論しましょう。
・なるべく、特定のエディタやフレームワーク、ツールなどの専用のワードを多用
せずに、他の人はそのツールを知らない前提で一般用語で議論しましょう。
- 2 :デフォルトの名無しさん:2016/08/26(金) 20:40:36.97 ID:X/oxOwFp.net
- 何のスレだか分かりにくいな
開発環境の使い方がメインか
- 3 :デフォルトの名無しさん:2016/08/26(金) 21:51:59.40 ID:QNADLP5T.net
- >>2
いや、開発環境ありきじゃなくて、どんな工夫をすればコーディングが
しやすいかを考えていきたい。
同じ開発環境やフレームワークを使っていると、ふと「俺は何かを創ってい
のか、それとも創らされているのかわからなくなってくるときがある。
だから、例えば、「○○製の××のノコギリは便利」じゃなくて、
「どういう状況で、どういう性質の工具を選ぶべきか」
「自分だけのオリジナル工具、オリジナルの使い方があってこういう意図で
使っている」とかを議論していきたい。
- 4 :デフォルトの名無しさん:2016/08/26(金) 21:53:50.14 ID:+1Se1aJm.net
- >>1
心意気や良し
- 5 :デフォルトの名無しさん:2016/08/26(金) 22:14:48.43 ID:dDBcLzC2.net
- こういう焦点がはっきりしないスレは意外と伸びるもんだよな。雑談で。
- 6 :デフォルトの名無しさん:2016/08/26(金) 23:01:14.73 ID:fnAyGTx3.net
- 道具の問題じゃない。
使ってる人間の問題。
- 7 :デフォルトの名無しさん:2016/08/27(土) 10:22:03.81 ID:wMJm9/8J.net
- 意外とIME辞書って使いようによっては強力なツールだと思ってる。
日本人ってアメリカにはない「文字変換」という優れた習慣を持っている
と思うんだが。
- 8 :デフォルトの名無しさん:2016/08/27(土) 16:58:24.06 ID:SmFG8gRK.net
- ク ク || プ //
ス ク ス | | │ //
/ ス | | ッ // ク ク ||. プ //
/ // ス ク ス _ | | │ //
/ ̄ ̄\ / ス ─ | | ッ //
/ _ノ .\ / //
| ( >)(<) ___
. | ⌒(__人__) ./ ⌒ ⌒\
| ` Y⌒l / (>) (<)\
. | . 人__ ヽ / ::::::⌒(__人__)⌒ \
ヽ }| | | ` Y⌒ l__ |
ヽ ノ、| | \ 人_ ヽ /
. /^l / / ,─l ヽ \
- 9 :デフォルトの名無しさん:2016/09/01(木) 19:52:06.60 ID:u1NNMosT.net
- パブリックな名前空間でのネーミングに時間を費やすやつは有能。
そういう輩をdisるやつは無能。
辞書を作っておくのが効率的
- 10 :デフォルトの名無しさん:2016/09/01(木) 19:56:50.68 ID:4EaPp0tJ.net
- 早い段階で命名が整理されてると混乱しないな
xxx、xxx2、xxx2bみたいに
行き当たりばったりにつけていくのは無能
- 11 :デフォルトの名無しさん:2016/10/30(日) 22:21:39.28 ID:r3eRdHaA.net
- オブジェクト指向は「再利用の記述」の省力化を目指しているが、
記述を省力化しすぎて「既存コードを読むストレス」を無視している
と思う。「読みながら部分的に手を加えるストレス」というべきか、
もうすでに出来上がったものをどう利用したらいいのか、
手を加えたことで、どう変わったのか恐る恐るやるよりも、
いっそ一から書いた方がずっと楽な場合もある。そっちのほうが安心できる。
- 12 :デフォルトの名無しさん:2016/10/30(日) 22:33:20.64 ID:Fp8V0MSu.net
- NuGet、Excel、VS。
Excelは表からコードを作るのに使える。
RFCとかUnicodeとか表が提供されるもの結構多い。
- 13 :デフォルトの名無しさん:2016/10/31(月) 09:48:34.51 ID:Laym3P58.net
- >>11
オブジェクト指向はけっして「再利用の記述」(の省力化)を目指しているわけではないように思う…というのはさておき、
「既存コードを読むストレス」を無視しているように見えるのは、きっと不完全な開発ツールを使っているからだろう
まず既存コードがどのようなネットワークを形成しているか、具体的にはコードを抽象化してメタ情報(使われている
メソッドがどこに定義されているか、読んでいるメソッドがどのメソッドからコールされているか、インスタンス変数は
どのクラスで定義されどのメソッドがそれを参照・変更しているか等々)として得ることができればかなりストレスを軽減できる
で、実際そういうツールは少なくとも80年代から普通に提供されている(例:Smalltalk環境)し、00年代にはほぼ整っている
「手を加えることでどう変わったのか」を把握する方法はすこし時代が下るけど、xUnitやバージョン管理で把握・制御可能だ
- 14 :デフォルトの名無しさん:2016/10/31(月) 14:49:14.87 ID:Uhsyfejv.net
- >>13
ってことはオブジェクト指向はそもそも「サポートしてくれるツールがある事」
が大前提であり、理論より、ツールの使い方ありき、ツール覚える方が先。
ということになるな、そうするとよくありがちなParsonやCarなどをとりあえず
作って抽象的な説明から入るオブジェクト指向の講義はナンセンスということ
にならないか?
「まずこのツールをDLして、操作方法を覚えろ」の方がいいのでは?
- 15 :デフォルトの名無しさん:2016/10/31(月) 15:37:43.02 ID:znOSB0V/.net
- >>14
どうしてそういう結論になるかわからん
ネットワークのたとえを引き続き用いると
まず最初に小さく単純でいいからネットワークを作ることを学ぶにあたって
どういう風にネットワークを形成していくか、それはどうあるべきかという抽象的な説明は必要ないとでも?
- 16 :デフォルトの名無しさん:2016/10/31(月) 17:04:52.62 ID:lW2bcIPg.net
- ツール覚えるのに必死で創造性を発揮するどころではないな。
覚えたころには次がでてくる。W
C#を使うと便利すぎて不満など全くない。使い込んで行けば不満もでるのだろうが
不満をさがしたら自分の未熟以外のものはでてこない。このオブジェクトの海の
なかのどこかに問題をスマートに解決する方法があって、それを自分が知らない
だけという感覚に陥る。こんな意識状態ではきっと創造性などは生まれない。
- 17 :デフォルトの名無しさん:2016/10/31(月) 20:43:50.21 ID:V2E0sHSG.net
- >>14
Parsonてなんぞwww
- 18 :デフォルトの名無しさん:2016/10/31(月) 21:18:21.78 ID:Uhsyfejv.net
- Personのタイプミスだよ。
いやさ、オブジェクト指向やってると疲れんのよ、主 publicとか private
とか protected とか static とかプロパティの辺がさ、
「クラスの作り方、派生、変更の仕方」なんてもんあまり勉強した内容じゃなくて、
俺が習得したいのは「言語組み込みクラスのメソッドの使い方」なんだよ。
そこらの他人が書いたコードやすでにあるコードなんてどうでもいいの。
- 19 :デフォルトの名無しさん:2016/10/31(月) 22:52:59.24 ID:2T9pwv3J.net
- >>18
ぱーか
- 20 :片山博文MZ ◆T6xkBnTXz7B0 :2016/10/31(月) 23:14:28.80 ID:taQA+O7Q.net
- >>18
まずはそのクラスがあるヘッダーを#includeする。
次に、変数宣言を使ってそのクラスのインスタンスを作成するコードを書く。
必要ならば、そのインスタンスを使って、メソッドを呼ぶ。
- 21 :デフォルトの名無しさん:2016/11/01(火) 05:45:27.04 ID:myyUxu1+.net
- 確かにガチガチにオブジェクト指向で塗り固めたコードは見苦しいよ。
訪れるかどうかすらもわからない、「後々のために」を理由に
いろんな修飾子付けてゴテゴテにデブったコード書いて、
「オブジェクト指向ししてる俺は意識高い」みたいなのってなんだかな~
と思う。策士策に溺れるというか、本末転倒なんだよ。
- 22 :デフォルトの名無しさん:2016/11/01(火) 10:41:54.82 ID:h/aYm7ZV.net
- ツールを使いたくない(使えない)ならオブジェクト指向やめるか、一時記憶を強化するしかない
- 23 :デフォルトの名無しさん:2016/11/01(火) 12:06:28.92 ID:hFVadVBb.net
- 継承したときに使いたいものだけ見えるようにする方法ってあるの?
2つしかいらんのに邪魔なのが100個も見えるという状況は気分が悪いよね
- 24 :デフォルトの名無しさん:2016/11/01(火) 13:28:29.79 ID:afRn0kaD.net
- >>23
その2つだけを使いたいことをIDEが知る方法はあるの?
- 25 :デフォルトの名無しさん:2016/11/02(水) 12:10:38.60 ID:txovE4qH.net
- >> 23
interface
- 26 :デフォルトの名無しさん:2016/11/14(月) 19:01:39.35 ID:6IAxrkLB.net
- このスレのタイトルに適した本ってなんだろ、コードコンプリートとか、
オライリの実践でバッグ技法とかかな。
おまいらコード書く順番ってどうしてる、
関数の具体的な中身を決めないまま mainから書き始めるか、
関数の部品の中身をつくってから関数同士の組み合わせ方をあとで考えるか、
クラスありきで作り始めるか、クラスの必要性に駆られてからそれまでのコード
をクラスに書き直すか。
- 27 :デフォルトの名無しさん:2016/11/15(火) 04:07:44.74 ID:ChVV2XmK.net
- まずはピンコンフィグかな
- 28 :デフォルトの名無しさん:2016/11/17(木) 07:46:25.96 ID:c78wZOKz.net
- リーダブルコードは有名なのか
- 29 :デフォルトの名無しさん:2016/11/17(木) 18:56:03.28 ID:TXdVmO9D.net
- で、Rubyのデバッガでいいのある?
- 30 :デフォルトの名無しさん:2016/11/29(火) 14:59:26.52 ID:W5pjxeIa.net
- プログラムが何をもって「完成」になるかわからないときってない?
なにが成功でなにが不十分なのか明確な基準持っていないっていうか
そもそもあまり関心がないみたいな、テストケース書こうとしたとき
急にどうでもよくなる感じ。
問題がおきたらなおせばいいや、って。
- 31 :デフォルトの名無しさん:2016/11/29(火) 18:45:56.10 ID:GF2v+9TM.net
- あ
- 32 :デフォルトの名無しさん:2016/11/29(火) 20:48:54.69 ID:hd8eXtYv.net
- 初歩的なことかと思いますが
テスト要領書って、本来コーディング前に作っておくものでしょうか?
うちの会社じゃ
いつもコーディングの後半に作ってるんですが
一般的にはどうなんだろうと思いまして
- 33 :デフォルトの名無しさん:2016/12/10(土) 07:29:52.95 ID:Z90C8bQK.net
- 要領書は設計書書き始めたら並行して書く
- 34 :デフォルトの名無しさん:2016/12/10(土) 11:51:31.58 ID:5+0zsndy.net
- デバッグテクニックって大事なのにぜんぜん共有されないよね
あってもブレークポイントとか変数ウォッチの使い方マニュアルみたいな役に立たない情報しかない
- 35 :デフォルトの名無しさん:2016/12/10(土) 12:32:45.44 ID:GIIm67Zu.net
- >>34
基本的に関数の行数は数行(10行未満)長くても十数行で
それらはテストしやすいように、呼び出しやすい関数になっている。
なのでブレークポイントや変数ウォッチなんか使う意味がない。
- 36 :デフォルトの名無しさん:2016/12/10(土) 12:39:39.05 ID:5+0zsndy.net
- >>35
それはまあ確かに理想的だけどレガシーコードや若手の書くコードは実際そうなってないわけじゃん
そういうダメなコードをデバッグする効率のいい方法というか原則とか考え方みたいなものを共有できたらいいと思うんだよね
- 37 :デフォルトの名無しさん:2016/12/10(土) 12:54:38.43 ID:GIIm67Zu.net
- ダメなコードをデバックする効率的な方法?
ダメなコードを簡単に直すのが一番効率的な方法だよ。
その方法のことをリファクタリングという。
- 38 :デフォルトの名無しさん:2016/12/10(土) 12:55:26.86 ID:GIIm67Zu.net
- × ダメなコードを簡単に直すのが一番効率的な方法だよ。
○ ダメなコード(複雑なコード)を簡単なコードに直すのが一番効率的な方法だよ。
- 39 :デフォルトの名無しさん:2016/12/10(土) 21:18:18.70 ID:SCCkpZrN.net
- バッチ処理がダメだった時の修正案を実行前実行中に
考えて作っておく。
バッチ処理が失敗した時は速やかに代案を実行する。
バッチ処理が失敗した時の焦りや怒り、うろたえは馬鹿にならないから
そんな状態で代案は生まれにくいし、コーディングミス
をしてハマる可能性がある。
だから健全な精神状態で代案をいくつか用意しておく。
- 40 :デフォルトの名無しさん:2016/12/12(月) 06:32:25.58 ID:d/o8M1q0.net
- 最近deltadebugに興味がある
- 41 :デフォルトの名無しさん:2016/12/12(月) 07:51:08.90 ID:pcIBU1jC.net
- なんだいそれ?
- 42 :デフォルトの名無しさん:2016/12/18(日) 11:38:27.43 ID:ZhJYWf2y.net
- Lnuxでインテリセンスのついた開発環境をおしえてくだされ。まさか
そんなものはない?
- 43 :デフォルトの名無しさん:2016/12/18(日) 11:47:33.47 ID:05Ug+E6t.net
- >>42
LinuxアプリはWindowsで開発するんだよ。
- 44 :デフォルトの名無しさん:2016/12/18(日) 11:57:25.73 ID:ZhJYWf2y.net
- 例えばC#アプリの例でお願いします。
- 45 :デフォルトの名無しさん:2016/12/18(日) 23:18:04.70 ID:aCKcGLhu.net
- Eclipse, NetBeans, Emacs, Visual Studio Code, Atom
何でも、ソースコードを所定の場所に置けば、インテリセンスが働くだろ?
- 46 :デフォルトの名無しさん:2016/12/18(日) 23:40:52.78 ID:XOBRXwmr.net
- オライリの実践デバッグ技法は良書
ただ、GDB DDD Eclipse の使い方を同時並行で解説しているから
少し混乱しやすい。
- 47 :デフォルトの名無しさん:2016/12/18(日) 23:44:05.58 ID:wEstYhpF.net
- ツールの使い方じゃなくてもう少し上のレイヤのデバッグテクをテーマにした良書はないのか
ブレークポイントの説明とか何度も読まされて辟易するよ
- 48 :デフォルトの名無しさん:2016/12/19(月) 00:34:24.03 ID:WXYJQtbi.net
- >>47
お望みの書籍はこれかな?
https://www.amazon.co.jp/%E9%81%93%E5%85%B7%E3%81%A8%E4%BA%BA%E9%A1%9E%E5%8F%B2-%E6%88%B8%E6%B2%A2-%E5%85%85%E5%89%87/dp/4787712101/
- 49 :デフォルトの名無しさん:2016/12/19(月) 06:04:58.15 ID:Jj0jZDjW.net
- >>47
オライリーのデバッグの本(なんか蝶の書いてあるやつ)は科学的な手法とかアルゴリズムとかが中心だよ
- 50 :デフォルトの名無しさん:2016/12/19(月) 21:49:43.65 ID:BI+h437s.net
- >>47
テスト駆動開発とかは?
- 51 :デフォルトの名無しさん:2017/04/11(火) 07:43:01.86 ID:5mMBtI5q.net
- DAOのテストってどうしてる?
テスト自体はデータをクリアしてインサートしてDAOのメソッド呼んで戻り値を調べてAssertって感じで普通に書けるんだけど
テストがDBに依存しちゃってるからサーバーが落ちてる時とかメンテナンス中に
にテストが通らなくなって困る
JUnitだけど一時的に機能無効化するオプションとかあるのかな
- 52 :デフォルトの名無しさん:2017/04/11(火) 11:38:08.44 ID:Ei1BFwyD.net
- >>51
> テストがDBに依存しちゃってるからサーバーが落ちてる時とかメンテナンス中に
> にテストが通らなくなって困る
ローカルにDB作れば?
> JUnitだけど一時的に機能無効化するオプションとかあるのかな
DAOのテストで、何を無効にするの?
- 53 :デフォルトの名無しさん:2017/04/11(火) 23:42:02.49 ID:5+HsoANQ.net
- >>16
GUI周りは大いに不満です
C#のCollectionの快適さは異常
- 54 :デフォルトの名無しさん:2017/04/12(水) 09:06:08.45 ID:v99/uLaR.net
- >>53
> Collectionの快適さ
具体的にはどこらへん?
- 55 :デフォルトの名無しさん:2017/04/12(水) 21:32:52.95 ID:jPM7CyEE.net
- 一番がAny()
isEmpty()じゃないことに感動した
大概の拡張メソッドがラムダ突っ込めるし
- 56 :デフォルトの名無しさん:2017/04/12(水) 21:41:41.61 ID:jPM7CyEE.net
- 冗長にも思える拡張メソッドの一群おかげでやりたいことが直感的にできる
Javaもラムダ扱えるってなって喜んだのもつかの間
C#に比べてあまりに貧弱で悲しくなった
- 57 :デフォルトの名無しさん:2017/04/12(水) 23:10:54.64 ID:v99/uLaR.net
- なるほどなるほどAny()ですか
- 58 :デフォルトの名無しさん:2017/04/13(木) 01:22:43.82 ID:hMsy2pR8.net
- 明らかにパクリと言われないようにちょっとズラしてパクらないといけない
でもズラしてパクると使い勝手悪くなる
JavaがC#に追いつく日はもう来ないだろうね
- 59 :デフォルトの名無しさん:2017/04/13(木) 01:27:23.06 ID:IFJ42qsr.net
- >>58
そんな事気にしてる言語なんてない…いや、Javaを持ってるOracleは気にするかもな。とりあえずJavaで訴訟するために
- 60 :デフォルトの名無しさん:2017/09/19(火) 08:24:16.23 ID:NVBfDgxx.net
- オライリー
Effective Debugging ―ソフトウェアとシステムをデバッグする66項目
Diomidis Spinellis
読んだ方、どうでしたか?
- 61 :デフォルトの名無しさん:2018/05/23(水) 21:42:10.50 ID:Au5e7VGg.net
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
6LKCX
- 62 :デフォルトの名無しさん:2018/07/05(木) 00:18:12.40 ID:RfoszcD2.net
- S9R
- 63 :デフォルトの名無しさん:2018/12/05(水) 17:53:36.13 ID:3z67ORpX.net
- ノートで入力作業するとき、現在行がウィンドウの上のほうに固定されるか、
または上に向かって改行するエディタがあると見やすい。近視なんで。
- 64 :デフォルトの名無しさん:2018/12/05(水) 18:11:56.05 ID:3z67ORpX.net
- キー入力を拾わなければならないから
KeyDown
KeyPress
KeyUp
これらのイベントがあるようなので
一文字ずつ表示させればエディタになるんだろうか
- 65 :デフォルトの名無しさん:2018/12/05(水) 19:58:39.13 ID:3z67ORpX.net
- KeyPressでそのまま表示させることはできた。(上から下)
・下から上へ折り返し表示
・日本語入力
・編集機能
を実装すれば完成
- 66 :デフォルトの名無しさん:2018/12/05(水) 20:02:44.63 ID:3z67ORpX.net
- 1行プログラミング
Label1.Text = Label1.Text & e.KeyChar
総レス数 66
18 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200