このスレはクソコードとは何かを考えるスレです。
・親クラスが子クラスに依存する処理を持つコード
例...社員クラスを継承した正社員クラスと派遣社員クラスがあり、社員クラスが正社員クラスの知識を持つ状況
・staticにするべきではないモデルにまでstaticにする人
例...社員クラスのメソッドを全てstaticにしたり、社員クラスにシングルトンパターンに相応するものを適用する人
等、クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
探検
クソコードとは何か
■ このスレッドは過去ログ倉庫に格納されています
2021/01/30(土) 17:33:05.78ID:BjNTZWUI
463デフォルトの名無しさん
2021/02/19(金) 14:48:09.77ID:RipgTCDE464デフォルトの名無しさん
2021/02/19(金) 14:49:14.42ID:RipgTCDE >>462
> しばらくぶりに見たプロジェクトの自動テストが通らないことぐらい
それを手動テストして動いたら面白いなw
まあよくあるよね。本当はバグってるのに
表面上は動いてるように見えちゃう
だから手動テストは駄目なんだよ
> しばらくぶりに見たプロジェクトの自動テストが通らないことぐらい
それを手動テストして動いたら面白いなw
まあよくあるよね。本当はバグってるのに
表面上は動いてるように見えちゃう
だから手動テストは駄目なんだよ
465デフォルトの名無しさん
2021/02/19(金) 14:55:40.06ID:IIFo83yT466デフォルトの名無しさん
2021/02/19(金) 15:01:38.27ID:RipgTCDE 直接変数に値入れるとは?
まさかデバッガ経由でやってんの?
デバッガを使うと挙動が変わるからテストにならない
まさかデバッガ経由でやってんの?
デバッガを使うと挙動が変わるからテストにならない
467デフォルトの名無しさん
2021/02/19(金) 15:01:59.28ID:RipgTCDE テストは本番用ビルドでやるのが鉄則
468デフォルトの名無しさん
2021/02/19(金) 15:03:42.70ID:IIFo83yT >>466
mockかデバッガーで十分です
mockかデバッガーで十分です
469デフォルトの名無しさん
2021/02/19(金) 15:06:22.55ID:IIFo83yT 客を自動テストして欲しいわ、言うことコロコロ変わるからw
470デフォルトの名無しさん
2021/02/19(金) 15:20:06.23ID:LoU7pdW5 判定させたら99.99%がクソレスだった件
471デフォルトの名無しさん
2021/02/19(金) 16:24:05.46ID:RipgTCDE472デフォルトの名無しさん
2021/02/19(金) 17:47:03.42ID:IFuFAMn0 要件を確定させずレスバってプログラマどころじゃないな
しかも平日の昼間から真っ赤ってまともじゃないの自己紹介しているようなもの
しかも平日の昼間から真っ赤ってまともじゃないの自己紹介しているようなもの
473デフォルトの名無しさん
2021/02/19(金) 17:47:13.51ID:ACLJAhWF 自分はアプリ開発と組み込み開発の経験があるけど、Web開発って単体テストやらんの?
Webは、Python+Django、node、古いPHPの入門書を読んだ程度にしか触れないからリアル開発事情に興味がある(開発経験が無い)
Webは、Python+Django、node、古いPHPの入門書を読んだ程度にしか触れないからリアル開発事情に興味がある(開発経験が無い)
474デフォルトの名無しさん
2021/02/19(金) 18:57:54.50ID:Clj7wgUu web開発ってユーザーが入力欄に何を入れてくるかの組み合わせが
膨大になるから、テストも困難になるな。
膨大になるから、テストも困難になるな。
475デフォルトの名無しさん
2021/02/19(金) 18:58:00.55ID:RipgTCDE 単体テストをやらないのはSIerだよ
ああ、いや、エクセルに単体テスト報告書を書くとか
そういう意味でなら単体テストをやってるよw
テストコードを書かない手動テストのことをSIerは単体テストって言ってる
ああ、いや、エクセルに単体テスト報告書を書くとか
そういう意味でなら単体テストをやってるよw
テストコードを書かない手動テストのことをSIerは単体テストって言ってる
476デフォルトの名無しさん
2021/02/19(金) 19:01:29.71ID:RipgTCDE ああ、わかりやすいのが見つかった。これがSIerのいう単体テスト(手動テスト)
【Web系最高って言うけと゛本当なの?】siの5次請けから離脱したエンシ゛ニアか゛話してみた
https://www.slideshare.net/yuukinakajima794/websi-67526868#8
8. てすとほうほう winshot、エクセル、人間 スクショ一枚取り忘れただけでも
テストがやり直しになるプレッシャーと進捗表.xls との戦い テスト結果.xlsが
不要なのでめんどくささがない 開発者が目で見ておk
https://www.slideshare.net/yuukinakajima794/websi-67526868#12
12. ソース修正とかテスト バグが出た!→単体テスト障害報告書.xlsを書く→
必要に応じて単 体テストケース.xlsを直す→上司にお話して単体テスト障害報告
書を確認して貰う→テストをする バグが出た!→直す→必要に応じてテストパターン を
増やす→テストする あまりに、あまりにめんどくさい、進捗表.xlsには障害数も書くのでバグゼロは困るらしい
【Web系最高って言うけと゛本当なの?】siの5次請けから離脱したエンシ゛ニアか゛話してみた
https://www.slideshare.net/yuukinakajima794/websi-67526868#8
8. てすとほうほう winshot、エクセル、人間 スクショ一枚取り忘れただけでも
テストがやり直しになるプレッシャーと進捗表.xls との戦い テスト結果.xlsが
不要なのでめんどくささがない 開発者が目で見ておk
https://www.slideshare.net/yuukinakajima794/websi-67526868#12
12. ソース修正とかテスト バグが出た!→単体テスト障害報告書.xlsを書く→
必要に応じて単 体テストケース.xlsを直す→上司にお話して単体テスト障害報告
書を確認して貰う→テストをする バグが出た!→直す→必要に応じてテストパターン を
増やす→テストする あまりに、あまりにめんどくさい、進捗表.xlsには障害数も書くのでバグゼロは困るらしい
477デフォルトの名無しさん
2021/02/19(金) 19:04:03.28ID:uscWUjsm 田中勇←口だけテストコード大好き変態老人
技術力はゼロwww
技術力はゼロwww
478デフォルトの名無しさん
2021/02/19(金) 19:19:27.73ID:2/3+b4qC >>476
まあそういうテストが必要なフェイズは確かにあるが、その前に自動テスト入れるべきではある。
まあそういうテストが必要なフェイズは確かにあるが、その前に自動テスト入れるべきではある。
479デフォルトの名無しさん
2021/02/19(金) 19:33:50.76ID:RipgTCDE480デフォルトの名無しさん
2021/02/19(金) 20:27:04.98ID:ACLJAhWF >>476
URLの闇が深すぎて怖い
URLの闇が深すぎて怖い
481デフォルトの名無しさん
2021/02/19(金) 20:45:17.65ID:B4GlCKY0 >>473
Ruby on Rails では、minitest/RSpec という2種類のテストフレームワークがある。
単体/システムテストの2つある
Rails 6 からは、環境を丸ごとコピーして、並列テストもできる
TDD では、テストが仕様書。
Excel で管理したりしない
Ruby on Rails では、minitest/RSpec という2種類のテストフレームワークがある。
単体/システムテストの2つある
Rails 6 からは、環境を丸ごとコピーして、並列テストもできる
TDD では、テストが仕様書。
Excel で管理したりしない
482デフォルトの名無しさん
2021/02/19(金) 21:59:46.75ID:zJ55MHzK483デフォルトの名無しさん
2021/02/19(金) 22:05:12.15ID:ACLJAhWF >>481
おお、なんかスピード感あって楽しそうだな
TDDいいよね!本業の組み込み自社開発でも導入した
何で長年気が付かなかったのか不思議なレベル
この手のノウハウは組み込みより圧倒的にWebの方が進んでるから、俺にとっては上位レイヤーの開発ノウハウが新鮮に感じる
おお、なんかスピード感あって楽しそうだな
TDDいいよね!本業の組み込み自社開発でも導入した
何で長年気が付かなかったのか不思議なレベル
この手のノウハウは組み込みより圧倒的にWebの方が進んでるから、俺にとっては上位レイヤーの開発ノウハウが新鮮に感じる
484デフォルトの名無しさん
2021/02/19(金) 22:07:51.51ID:uYMrqqBZ やっぱり単体テストでそこまで用意する意味ねぇって
時間がかかってるのデバイス周り出し及びじゃねぇよコレ
時間がかかってるのデバイス周り出し及びじゃねぇよコレ
485デフォルトの名無しさん
2021/02/19(金) 22:08:44.56ID:/Wn3Sj0O 結合入ってから頑張ろうよ
486481
2021/02/19(金) 22:31:54.64ID:B4GlCKY0 伊藤淳一などが翻訳してる「Everyday Rails - RSpecによるRailsテスト入門」は有名な本
テストに関しては、ソニックガーデンの伊藤淳一の動画・Qiita などを読めばよい
テストに関しては、ソニックガーデンの伊藤淳一の動画・Qiita などを読めばよい
487デフォルトの名無しさん
2021/02/20(土) 00:24:53.76ID:pHrkUBl9488デフォルトの名無しさん
2021/02/20(土) 01:40:17.33ID:LGEbkfhl >>487
いや、それだとレスポンスも早過ぎるしリトライも起きないから何のテストにもなってない
あと何よりデバイス出ないから返ってきて欲しい値を手動で設定するとか苦痛過ぎる
ソフトでset○○って入れた値が次のget○○に反映されるみたいなとこまで作れないやろ
いや、それだとレスポンスも早過ぎるしリトライも起きないから何のテストにもなってない
あと何よりデバイス出ないから返ってきて欲しい値を手動で設定するとか苦痛過ぎる
ソフトでset○○って入れた値が次のget○○に反映されるみたいなとこまで作れないやろ
489デフォルトの名無しさん
2021/02/20(土) 01:44:19.60ID:pHrkUBl9 何のためにモック使ってるんだ?
素人かなぁ
レスポンスの時間を自由に変えられるのがモックの利点だし
リトライする状態を自由に再現できるのもモックの利点だし
デバイスから帰ってきてほしい値を自由に設定できるのもモックの利点
うーん、わかってない人が、意味不明な答えをしてる状態だw
まずそもそもモックはお前が行った問題点を解決するための
ものだということを知りましょう
素人かなぁ
レスポンスの時間を自由に変えられるのがモックの利点だし
リトライする状態を自由に再現できるのもモックの利点だし
デバイスから帰ってきてほしい値を自由に設定できるのもモックの利点
うーん、わかってない人が、意味不明な答えをしてる状態だw
まずそもそもモックはお前が行った問題点を解決するための
ものだということを知りましょう
490デフォルトの名無しさん
2021/02/20(土) 01:45:23.84ID:pHrkUBl9 まあ正確にはスタブだけどね
みんなごっちゃにして使ってるから俺もごっちゃにして使ってるw
みんなごっちゃにして使ってるから俺もごっちゃにして使ってるw
491デフォルトの名無しさん
2021/02/20(土) 01:48:18.86ID:mqOV0mvT 組み込みでは単体テストよりも実機テストが鬼門
どのプロジェクトでも最初は自動化を夢見ても、実現できたプロジェクトは少ない
自動化ぶん回してたら発熱して煙出てたり電源不足で再起動しちゃったり他の開発機器のノイズ拾ってコケまくったり・・・
どのプロジェクトでも最初は自動化を夢見ても、実現できたプロジェクトは少ない
自動化ぶん回してたら発熱して煙出てたり電源不足で再起動しちゃったり他の開発機器のノイズ拾ってコケまくったり・・・
492デフォルトの名無しさん
2021/02/20(土) 01:54:30.04ID:MdDLRkGY MartinFowlerのMocksAre n't Stubsなど、テストでのモックとスタブに関するさまざまな記事を
読みましたが、それでも違いはわかりません。モックvsスタブ=行動テストvs状態テストと言われ
ますし、ライフサイクルが違うと言われますが、それでも違いはわかりません。
先輩がいつもモックモックモック言うので、すこし嫌になりました。
読みましたが、それでも違いはわかりません。モックvsスタブ=行動テストvs状態テストと言われ
ますし、ライフサイクルが違うと言われますが、それでも違いはわかりません。
先輩がいつもモックモックモック言うので、すこし嫌になりました。
493デフォルトの名無しさん
2021/02/20(土) 02:12:02.30ID:pHrkUBl9 >>491
組み込みのハードの部分が多いのかソフトの部分が多いのか
ハードの部分が多いなら、そりゃソフトウェアのテストじゃなくてハードウェアのテストだ
だが組み込みでもソフトウェアは多いだろ?
そっちはハードウェアなしでテストできる
めんどくさいからソフトウェア部分も
ハードウェア使ってテストするんだよ
時間がかかってしょうがない
っていうのならソフトウェア部分も
ハードウェア使ってじゃないとテストできないのなら
そりゃそうだろうよとしかw
組み込みのハードの部分が多いのかソフトの部分が多いのか
ハードの部分が多いなら、そりゃソフトウェアのテストじゃなくてハードウェアのテストだ
だが組み込みでもソフトウェアは多いだろ?
そっちはハードウェアなしでテストできる
めんどくさいからソフトウェア部分も
ハードウェア使ってテストするんだよ
時間がかかってしょうがない
っていうのならソフトウェア部分も
ハードウェア使ってじゃないとテストできないのなら
そりゃそうだろうよとしかw
494デフォルトの名無しさん
2021/02/20(土) 02:24:18.76ID:ZkUFennS >>489
いやーやめた方がいい
値1つとってもそう単純じゃない
例えばある値を3.223から増加量0.005で7まで変化させたいと
その時6.997で装置は処理を止めましたと
これはソフトからしたらクソでも多分バグじゃねぇんだわ
じゃあ、増加量0.001にしたら7になるのかと?
今度は6.995で止まったと
まだ足せんじゃん足せよゴミカスと言いたいが
デバイスのハード的なもんを無理矢理デジタルに直してるようなのはこんなのが限界のときあるんだわ
精度も条件によって変わったりね
多分ハードの値って一つ一つこういう変な癖があって何でもかんでもうまくはいかないと思うよ
ってなるとやっぱり重要なのって結合なんだよね
デバイスと絡んだ値があるとこはすんなりいかないことが多い
いやーやめた方がいい
値1つとってもそう単純じゃない
例えばある値を3.223から増加量0.005で7まで変化させたいと
その時6.997で装置は処理を止めましたと
これはソフトからしたらクソでも多分バグじゃねぇんだわ
じゃあ、増加量0.001にしたら7になるのかと?
今度は6.995で止まったと
まだ足せんじゃん足せよゴミカスと言いたいが
デバイスのハード的なもんを無理矢理デジタルに直してるようなのはこんなのが限界のときあるんだわ
精度も条件によって変わったりね
多分ハードの値って一つ一つこういう変な癖があって何でもかんでもうまくはいかないと思うよ
ってなるとやっぱり重要なのって結合なんだよね
デバイスと絡んだ値があるとこはすんなりいかないことが多い
495デフォルトの名無しさん
2021/02/20(土) 02:32:10.26ID:mqOV0mvT >>493
落ち着け、後半日本語めちゃくちゃだぞ・・・
落ち着け、後半日本語めちゃくちゃだぞ・・・
496デフォルトの名無しさん
2021/02/20(土) 02:33:03.30ID:56yjs2OO497デフォルトの名無しさん
2021/02/20(土) 02:35:06.23ID:/l8xxO7y498デフォルトの名無しさん
2021/02/20(土) 02:37:16.94ID:3iHtf1vt >>492
マーチンさんはその記事を出すのが遅かったよねw
モックという言葉が広く普及してしまった後だった
rspec界隈?ではテストダブルという言葉を使って言葉を整理しようとしたが
一部でのみ使われて広く普及していない
俺的には、ダミーの値を返すオブジェクトがスタブ
スタブの反対はスパイで、スパイは呼び出された回数や引数を記録しておいて
あとで検証できるもの
スタブとスパイをあわせてモックとしたほうが良かった気がするな
世間的には、スタブ vs モック(スパイはモックの高機能版)と考えればいいよ
スパイは後から検証できるように便利なオブジェクトになってるが
モックはそんな機能がない、もしくは低機能。
だから「テスト対象のコード」から「モック」を呼び出した時に渡されたデータの検証ぐらいしかできない
またスパイもモックも結局はダミーの値を返さないとテスト対象は動かないので多くの場合スタブの機能も兼ねてる
スタブ・・・テスト対象がスタブを呼び出し、スタブはダミーの値を返すだけ
モック・・・テスト対象がモックを呼び出し、その内容をテストする+スタブ(必須ではないが多くの場合必要)
スパイ・・・テスト対象がスパイを呼び出し、その内容を記録しておいて後からテストする+スタブ(必須ではないが多くの場合必要)
テストダブル・・・上記の総称
マーチンさんはその記事を出すのが遅かったよねw
モックという言葉が広く普及してしまった後だった
rspec界隈?ではテストダブルという言葉を使って言葉を整理しようとしたが
一部でのみ使われて広く普及していない
俺的には、ダミーの値を返すオブジェクトがスタブ
スタブの反対はスパイで、スパイは呼び出された回数や引数を記録しておいて
あとで検証できるもの
スタブとスパイをあわせてモックとしたほうが良かった気がするな
世間的には、スタブ vs モック(スパイはモックの高機能版)と考えればいいよ
スパイは後から検証できるように便利なオブジェクトになってるが
モックはそんな機能がない、もしくは低機能。
だから「テスト対象のコード」から「モック」を呼び出した時に渡されたデータの検証ぐらいしかできない
またスパイもモックも結局はダミーの値を返さないとテスト対象は動かないので多くの場合スタブの機能も兼ねてる
スタブ・・・テスト対象がスタブを呼び出し、スタブはダミーの値を返すだけ
モック・・・テスト対象がモックを呼び出し、その内容をテストする+スタブ(必須ではないが多くの場合必要)
スパイ・・・テスト対象がスパイを呼び出し、その内容を記録しておいて後からテストする+スタブ(必須ではないが多くの場合必要)
テストダブル・・・上記の総称
499デフォルトの名無しさん
2021/02/20(土) 02:41:28.39ID:WavZWbYg >>494
> いやーやめた方がいい
やめた方がいい理由は?
> 値1つとってもそう単純じゃない
> 例えばある値を3.223から増加量0.005で7まで変化させたいと
> その時6.997で装置は処理を止めましたと
> これはソフトからしたらクソでも多分バグじゃねぇんだわ
バグじゃないなら、その値でテストするだけのこと
お前は、6.997でテストしたか? 6.995でテストしたか?
してないよな。だって装置が都合よくそんな値で止まってくれないんだから
ハードウェアを使って手動でテストすると 6.995 や 6.997 で止めるのが難しいから
テストの時間がかかる。そういう場合にモックを使うと 6.995 や 6.997 の値を作り出すことができる
単体テストであればデバイスの値を自由に作ることができる
> いやーやめた方がいい
やめた方がいい理由は?
> 値1つとってもそう単純じゃない
> 例えばある値を3.223から増加量0.005で7まで変化させたいと
> その時6.997で装置は処理を止めましたと
> これはソフトからしたらクソでも多分バグじゃねぇんだわ
バグじゃないなら、その値でテストするだけのこと
お前は、6.997でテストしたか? 6.995でテストしたか?
してないよな。だって装置が都合よくそんな値で止まってくれないんだから
ハードウェアを使って手動でテストすると 6.995 や 6.997 で止めるのが難しいから
テストの時間がかかる。そういう場合にモックを使うと 6.995 や 6.997 の値を作り出すことができる
単体テストであればデバイスの値を自由に作ることができる
500デフォルトの名無しさん
2021/02/20(土) 02:44:52.28ID:WavZWbYg >>497
> でもやってみないと具合がわからん
やってみれば具合がわかるだろ
そしたらそれをテストコードにするだけだろ
おまえはやってみて、その場でコード修正して終わりか?
リグレッションテストはしないのか?当然するよな
別の機種のための修正が、別の機種で不具合を起こす場合
Aでうまく行かない→修正
Bでうまく行かなくなった→修正
Aでまたテストして→修正
Bでも大丈夫かな?→修正
って機種を何度も変更して、同じテストを何度も「手動」で繰り返すんだろ?
テストコードにしてれば、この繰り返しを
自動でできるって言ってるんだよ
> でもやってみないと具合がわからん
やってみれば具合がわかるだろ
そしたらそれをテストコードにするだけだろ
おまえはやってみて、その場でコード修正して終わりか?
リグレッションテストはしないのか?当然するよな
別の機種のための修正が、別の機種で不具合を起こす場合
Aでうまく行かない→修正
Bでうまく行かなくなった→修正
Aでまたテストして→修正
Bでも大丈夫かな?→修正
って機種を何度も変更して、同じテストを何度も「手動」で繰り返すんだろ?
テストコードにしてれば、この繰り返しを
自動でできるって言ってるんだよ
501デフォルトの名無しさん
2021/02/20(土) 06:09:56.09ID:Mzr1Xumx >>477
それ誰?
それ誰?
502デフォルトの名無しさん
2021/02/20(土) 09:25:13.41ID:EvFy/+SD503デフォルトの名無しさん
2021/02/20(土) 09:49:08.60ID:xSEyIqRP504デフォルトの名無しさん
2021/02/20(土) 09:55:55.93ID:O4DpQFuV クソコードとは何か
505デフォルトの名無しさん
2021/02/20(土) 10:00:30.75ID:xSEyIqRP テストが手動でテストをするのに膨大な時間がかかるコード
506デフォルトの名無しさん
2021/02/20(土) 10:03:35.37ID:EvFy/+SD >>503
え?モックとか言うやつの話っしょ?
え?モックとか言うやつの話っしょ?
507デフォルトの名無しさん
2021/02/20(土) 10:04:35.86ID:EvFy/+SD むしろこういう複雑な動作されるのはそもそも単体じゃないじゃん
508デフォルトの名無しさん
2021/02/20(土) 10:06:03.68ID:xSEyIqRP509デフォルトの名無しさん
2021/02/20(土) 10:07:47.77ID:xSEyIqRP >>507
複雑なのはたくさん値があってその組み合わせが膨大だから
手動テストも、その組み合わせをテストしないといけない
時間がかかって現実的だからテストしないって言ってる?
手動テストはテストをしないこと・・・意味がわからんw
複雑なのはたくさん値があってその組み合わせが膨大だから
手動テストも、その組み合わせをテストしないといけない
時間がかかって現実的だからテストしないって言ってる?
手動テストはテストをしないこと・・・意味がわからんw
510デフォルトの名無しさん
2021/02/20(土) 10:24:31.88ID:MdDLRkGY >>498
ありがとうございます。だけどプロトコルバッファーなどgRPCで生成されるコードにもStubって使うので
もう全部Stubで広義的にはいいじゃんって思います。付加機能があったり、ライフサイクルが複雑であって
テストコードの話に限定できてメインソースじゃない単語だと「モック」と言われてるような気もします。
先輩が見てるといけないので、先輩が嫌いな訳じゃないです、モックモックモックいうのはイライラするので
やめてほしいです。ここで「手動テストは○○○(否定表現)」を連呼する人が先輩に似てます。
ありがとうございます。だけどプロトコルバッファーなどgRPCで生成されるコードにもStubって使うので
もう全部Stubで広義的にはいいじゃんって思います。付加機能があったり、ライフサイクルが複雑であって
テストコードの話に限定できてメインソースじゃない単語だと「モック」と言われてるような気もします。
先輩が見てるといけないので、先輩が嫌いな訳じゃないです、モックモックモックいうのはイライラするので
やめてほしいです。ここで「手動テストは○○○(否定表現)」を連呼する人が先輩に似てます。
511デフォルトの名無しさん
2021/02/20(土) 10:32:54.85ID:xSEyIqRP 「手動テストは時間がかかる」
これは否定表現じゃないからセーフだなw
これは否定表現じゃないからセーフだなw
512デフォルトの名無しさん
2021/02/20(土) 10:37:02.86ID:MdDLRkGY もうこの際だからハッキリ言うと、先輩、それ誰も知ってるから鬼の首を取ったように言われても
ぼくらは困惑ばかりです。正直ウザいです。みんなから嫌われてます
ぼくらは困惑ばかりです。正直ウザいです。みんなから嫌われてます
513デフォルトの名無しさん
2021/02/20(土) 10:49:31.96ID:EvFy/+SD でもそこまで作って尚まだ単体テストなんだぜソレw
ぜってーねーよw
もう繋げてテストしようよw
無駄だよw
ぜってーねーよw
もう繋げてテストしようよw
無駄だよw
514デフォルトの名無しさん
2021/02/20(土) 10:51:50.41ID:xSEyIqRP なんだ?今まであれだけ言い返してたのに
今度は何も言い返してないではないかw
今度は何も言い返してないではないかw
515デフォルトの名無しさん
2021/02/20(土) 10:56:54.38ID:NUXXCfLF キチガイの巣窟スレ
516デフォルトの名無しさん
2021/02/20(土) 13:03:05.75ID:226xMBL/ もう流れ追うのも面倒になってる奴多いやろこれw
当人同士は必死になっちゃってるんで引けないだろうけど
あとワイの研究結果を勝手に報告するで(`・ω・´)キリッ
適当なソースが思い浮かばなかったんでopenjdkのソースを調査したよ
$ grep --include='*.java' -hroE "new +[^<\( \[]+" jdk-master/src | sed -E 's/new +//g' | sort | uniq -c | sort -nr | head -n 30
5039 String
4884 IllegalArgumentException
3231 Object
3099 ArrayList
2465 byte
2186 int
1718 HashMap
1563 IOException
1548 StringBuilder
1513 UnsupportedOperationException
1465 NullPointerException
1263 RuntimeException
1170 IllegalStateException
976 HashSet
:(以下略)
結論:Stringクラスはワイ理論ではもっとも再利用性の有る優れたクラス
当人同士は必死になっちゃってるんで引けないだろうけど
あとワイの研究結果を勝手に報告するで(`・ω・´)キリッ
適当なソースが思い浮かばなかったんでopenjdkのソースを調査したよ
$ grep --include='*.java' -hroE "new +[^<\( \[]+" jdk-master/src | sed -E 's/new +//g' | sort | uniq -c | sort -nr | head -n 30
5039 String
4884 IllegalArgumentException
3231 Object
3099 ArrayList
2465 byte
2186 int
1718 HashMap
1563 IOException
1548 StringBuilder
1513 UnsupportedOperationException
1465 NullPointerException
1263 RuntimeException
1170 IllegalStateException
976 HashSet
:(以下略)
結論:Stringクラスはワイ理論ではもっとも再利用性の有る優れたクラス
517デフォルトの名無しさん
2021/02/20(土) 13:04:05.48ID:226xMBL/ 一応参考までに省略部分も張っとくわ
924 InternalError
886 {@code
755 XColor
742 AssertionError
737 Dimension
710 char
697 Rectangle
632 instance
610 File
594 value
486 DerOutputStream
466 Vector
436 double
408 PrivilegedAction
394 InvalidKeyException
393 Label
924 InternalError
886 {@code
755 XColor
742 AssertionError
737 Dimension
710 char
697 Rectangle
632 instance
610 File
594 value
486 DerOutputStream
466 Vector
436 double
408 PrivilegedAction
394 InvalidKeyException
393 Label
518デフォルトの名無しさん
2021/02/21(日) 19:53:59.50ID:10q0ACVq 誰か突っ込んでやれよ
519デフォルトの名無しさん
2021/02/21(日) 21:30:03.47ID:IppcSdfg 再利用できないコードの特徴
・凝集度が低い
・結合度が高い
この2つがセットだと、自分が使いたい機能に対して無関心な知識まで要求される
そういうのがクソコードの筆頭だと思う
Stringは、上手く実装されている例だな
・凝集度が低い
・結合度が高い
この2つがセットだと、自分が使いたい機能に対して無関心な知識まで要求される
そういうのがクソコードの筆頭だと思う
Stringは、上手く実装されている例だな
520デフォルトの名無しさん
2021/02/22(月) 00:29:45.74ID:nzCnkmXH もしかして文字列出力が多いソフトウェアだと文字列クラスの利用が多くなるんじゃないか?
そうでなくとも5000個の文字列が各所に散らばってるんだろ
どうやって文章を管理して辻褄合わせるんだよ
そうでなくとも5000個の文字列が各所に散らばってるんだろ
どうやって文章を管理して辻褄合わせるんだよ
521デフォルトの名無しさん
2021/02/22(月) 00:48:41.83ID:ESOE+x1C まずさ
別に出来がいいから使ってるわけじゃ無いだろ?
クラスの造りが優秀なのとソースで使用回数が多いことに関連がそんなねぇよ
業務アプリだったらLogってのが簡単にStringをぶっちぎるのなんて簡単に想像できる
別に出来がいいから使ってるわけじゃ無いだろ?
クラスの造りが優秀なのとソースで使用回数が多いことに関連がそんなねぇよ
業務アプリだったらLogってのが簡単にStringをぶっちぎるのなんて簡単に想像できる
522デフォルトの名無しさん
2021/02/22(月) 01:24:32.76ID:FgGbi9an あれ?手動テストの話終わったの?
もっと罵り合えよつまんねーな
もっと罵り合えよつまんねーな
523デフォルトの名無しさん
2021/02/22(月) 02:20:20.48ID:Vv8+u1qd 最後はこれでおしまい
>>507
複雑なのはたくさん値があってその組み合わせが膨大だから
手動テストも、その組み合わせをテストしないといけない
時間がかかって現実的だからテストしないって言ってる?
手動テストはテストをしないこと・・・意味がわからんw
>>507
複雑なのはたくさん値があってその組み合わせが膨大だから
手動テストも、その組み合わせをテストしないといけない
時間がかかって現実的だからテストしないって言ってる?
手動テストはテストをしないこと・・・意味がわからんw
524デフォルトの名無しさん
2021/02/22(月) 02:33:01.98ID:ESOE+x1C いや、流石にハードの動作知らんやつが設定値7に対して6.997で止まることを想定できんやろ
どんな組み合わせをやっても無理なはずやで
テキトーなことを言うな
どんな組み合わせをやっても無理なはずやで
テキトーなことを言うな
525デフォルトの名無しさん
2021/02/22(月) 02:59:19.84ID:Vv8+u1qd526デフォルトの名無しさん
2021/02/22(月) 03:09:12.22ID:PA6Gvk4i ここまでをまとめると、自動テストは暇なら書く程度の価値
って事でおk?
って事でおk?
527デフォルトの名無しさん
2021/02/22(月) 05:42:49.54ID:Vv8+u1qd 手動テストに膨大な時間がかかるので
自動化してもっと価値が高いことに時間を使いましょうって話だよ
自動化してもっと価値が高いことに時間を使いましょうって話だよ
528デフォルトの名無しさん
2021/02/22(月) 05:49:19.42ID:PA6Gvk4i 手動テストに膨大な時間なんかかからないと思うんだが
そもそも
その時間まで積んだうえの開発コストだと思うんだが
そもそも
その時間まで積んだうえの開発コストだと思うんだが
529デフォルトの名無しさん
2021/02/22(月) 06:03:54.54ID:2p9yrjmm コロナウイルス→鳥インフルH5N8→人
もうダメだな、鶏肉も食えない
もうダメだな、鶏肉も食えない
530デフォルトの名無しさん
2021/02/22(月) 06:23:03.40ID:Vv8+u1qd >>528
俺が作ってる1万行程度のツールはテスト項目数が1000個以上ある
この項目数は多いというほどのものでもないだろう
このテストを全て自動的に実行する時間はに30秒程度
もし手動で実行するなら1つあたり10秒で終わらせられたとしても
1万秒、300倍以上もの時間がかかっている
1万秒といったら、2時間半以上にもなる
開発しながらテストとかやってられないレベル
大きなシステムではテスト項目数は数万、数十万にもなるから
テストに数日かかる。コードを修正するたびにそんな事やってられないから
手動テストはテストをサボることになる
俺が作ってる1万行程度のツールはテスト項目数が1000個以上ある
この項目数は多いというほどのものでもないだろう
このテストを全て自動的に実行する時間はに30秒程度
もし手動で実行するなら1つあたり10秒で終わらせられたとしても
1万秒、300倍以上もの時間がかかっている
1万秒といったら、2時間半以上にもなる
開発しながらテストとかやってられないレベル
大きなシステムではテスト項目数は数万、数十万にもなるから
テストに数日かかる。コードを修正するたびにそんな事やってられないから
手動テストはテストをサボることになる
531デフォルトの名無しさん
2021/02/22(月) 06:34:50.69ID:PA6Gvk4i >>530
毎回やる必要のないテストばかりだろ?
毎回やる必要のないテストばかりだろ?
532デフォルトの名無しさん
2021/02/22(月) 06:38:20.47ID:Vv8+u1qd > その時間まで積んだうえの開発コストだと思うんだが
開発コストは低い方がいいだろ?
そうすりゃ請求金額の多くを儲けにできる
1ヶ月かかる仕事を効率化して1週間でできるようにしたから
販売金額も1/4でいいですよなんて、技術料ゼロの儲けが出ない
ビジネスモデルで仕事してるなら可哀想としか言うしかないがなw
開発コストは低い方がいいだろ?
そうすりゃ請求金額の多くを儲けにできる
1ヶ月かかる仕事を効率化して1週間でできるようにしたから
販売金額も1/4でいいですよなんて、技術料ゼロの儲けが出ない
ビジネスモデルで仕事してるなら可哀想としか言うしかないがなw
533デフォルトの名無しさん
2021/02/22(月) 06:40:44.17ID:Vv8+u1qd >>531
毎回やらなくていいとはどうやって判断したのか?
いつも想定してない所でバグが出るもんだ
コミットのたびにCIで全テストをするのは当たり前
ローカルでは一部のテストだけを行えばいいが
CIで自動的に全テストを行うのは普通の話だ
そこまでの高い信頼性を手動テストでやってるか?
毎回やらなくていいとはどうやって判断したのか?
いつも想定してない所でバグが出るもんだ
コミットのたびにCIで全テストをするのは当たり前
ローカルでは一部のテストだけを行えばいいが
CIで自動的に全テストを行うのは普通の話だ
そこまでの高い信頼性を手動テストでやってるか?
534デフォルトの名無しさん
2021/02/22(月) 06:41:49.22ID:PA6Gvk4i 自動テストで完結しないのに、議論に値しないだろ
535デフォルトの名無しさん
2021/02/22(月) 06:42:47.10ID:Vv8+u1qd536デフォルトの名無しさん
2021/02/22(月) 06:42:57.10ID:PA6Gvk4i 自動テストはヒマなら書くレベルの価値しかない
537デフォルトの名無しさん
2021/02/22(月) 06:43:52.26ID:Vv8+u1qd538デフォルトの名無しさん
2021/02/22(月) 06:45:01.26ID:PA6Gvk4i 自動テスト書くくらいなら他の仕事やれよ
単価テスターの6倍とかなんだから
単価テスターの6倍とかなんだから
539デフォルトの名無しさん
2021/02/22(月) 06:45:38.77ID:Vv8+u1qd >>538
ならテスターが自動テスト書けばいいだろwww
ならテスターが自動テスト書けばいいだろwww
540デフォルトの名無しさん
2021/02/22(月) 06:46:59.64ID:PA6Gvk4i >>539
それはアリ、でもそんな現場は無い
それはアリ、でもそんな現場は無い
541デフォルトの名無しさん
2021/02/22(月) 06:48:25.53ID:Vv8+u1qd542デフォルトの名無しさん
2021/02/22(月) 06:48:33.24ID:PA6Gvk4i プログラム分からないほうがテスターとして価値ある
時々すごい操作するし
時々すごい操作するし
543デフォルトの名無しさん
2021/02/22(月) 06:49:22.93ID:PA6Gvk4i メンテしなくなる自動テストのエレジー
544デフォルトの名無しさん
2021/02/22(月) 06:51:06.89ID:PA6Gvk4i もう丸1年くらいテストコード見てない
545デフォルトの名無しさん
2021/02/22(月) 06:51:42.66ID:Vv8+u1qd はい、手動テストの方が時間がかかるって
結論をそらし始めましたよw
結論をそらし始めましたよw
546デフォルトの名無しさん
2021/02/22(月) 06:51:53.08ID:PA6Gvk4i ヒマなら書いたほうが良いのは認めてる
547デフォルトの名無しさん
2021/02/22(月) 06:52:54.59ID:PA6Gvk4i 社員じゃないんで書きたくないというのもある
548デフォルトの名無しさん
2021/02/22(月) 06:53:42.35ID:wMwiRJvv 自動テスト書いた方が早いことは自動テスト書きながら開発してるやつなら分かると思うんだ
549デフォルトの名無しさん
2021/02/22(月) 06:54:15.04ID:PA6Gvk4i エンドが書けば良いと思うんだが・・オナニーと大して変わらないんだから
550デフォルトの名無しさん
2021/02/22(月) 06:57:07.17ID:PA6Gvk4i SwaggerとかでAPI自動生成される場合は書いたほうが良いな
551デフォルトの名無しさん
2021/02/22(月) 06:58:12.31ID:Vv8+u1qd 自動テストを書く時間まで積んだうえの開発コストだと思うんだが?w
手動でテストをすると、その開発コストが大きくかかる
手動でテストをすると、その開発コストが大きくかかる
552デフォルトの名無しさん
2021/02/22(月) 06:59:23.38ID:PA6Gvk4i 手動テスト要らないプロジェクトを知らない
553デフォルトの名無しさん
2021/02/22(月) 07:00:39.66ID:Vv8+u1qd 手動テスト要らないなんて一言も言ってないよな
自動テストを書く時間まで積んだうえの開発コスト
全部手動でテストをすると、その開発コストが大きく跳ね上がる
自動テストを書く時間まで積んだうえの開発コスト
全部手動でテストをすると、その開発コストが大きく跳ね上がる
554デフォルトの名無しさん
2021/02/22(月) 07:02:05.20ID:PA6Gvk4i >>553
そんな事ない、テスト観点の洗い出しが変なだけ
そんな事ない、テスト観点の洗い出しが変なだけ
555デフォルトの名無しさん
2021/02/22(月) 07:03:27.97ID:Vv8+u1qd >>554
テスト観点の洗い出しが良くなれば
同じ件数のテストを手動で早く実行できるという
理由を言ってみて
手動テスト要らないなんて一言も言ってないよな
自動テストを書く時間まで積んだうえの開発コスト
全部手動でテストをすると、その開発コストが大きく跳ね上がる
テスト観点の洗い出しが良くなれば
同じ件数のテストを手動で早く実行できるという
理由を言ってみて
手動テスト要らないなんて一言も言ってないよな
自動テストを書く時間まで積んだうえの開発コスト
全部手動でテストをすると、その開発コストが大きく跳ね上がる
556デフォルトの名無しさん
2021/02/22(月) 07:04:10.61ID:PA6Gvk4i テストコードの保守工数より手動テストしたほうが確実
557デフォルトの名無しさん
2021/02/22(月) 07:04:42.42ID:PA6Gvk4i >>555
自分で考えろ
自分で考えろ
558デフォルトの名無しさん
2021/02/22(月) 07:05:28.58ID:Vv8+u1qd やっぱり話をすり替えようとしていただけだったかw
559デフォルトの名無しさん
2021/02/22(月) 07:06:08.80ID:Vv8+u1qd 具体例
俺が作ってる1万行程度のツールはテスト項目数が1000個以上ある
この項目数は多いというほどのものでもないだろう
このテストを全て自動的に実行する時間はに30秒程度
もし手動で実行するなら1つあたり10秒で終わらせられたとしても
1万秒、300倍以上もの時間がかかっている
1万秒といったら、2時間半以上にもなる
開発しながらテストとかやってられないレベル
大きなシステムではテスト項目数は数万、数十万にもなるから
テストに数日かかる。コードを修正するたびにそんな事やってられないから
手動テストはテストをサボることになる
俺が作ってる1万行程度のツールはテスト項目数が1000個以上ある
この項目数は多いというほどのものでもないだろう
このテストを全て自動的に実行する時間はに30秒程度
もし手動で実行するなら1つあたり10秒で終わらせられたとしても
1万秒、300倍以上もの時間がかかっている
1万秒といったら、2時間半以上にもなる
開発しながらテストとかやってられないレベル
大きなシステムではテスト項目数は数万、数十万にもなるから
テストに数日かかる。コードを修正するたびにそんな事やってられないから
手動テストはテストをサボることになる
560デフォルトの名無しさん
2021/02/22(月) 07:07:12.30ID:PA6Gvk4i いちいち理由を聞くな、ここは自分考えだけを言って
ストレス解消する便所の落書きだ
ストレス解消する便所の落書きだ
561デフォルトの名無しさん
2021/02/22(月) 07:08:35.98ID:Vv8+u1qd まあ手動のテストで1つあたり10秒って書いたけど
普通そんな時間で終わらせられないよなw
事前準備の手順があって結果のデータを見比べて
画面を注意深く観察してスクショとって
チェック表にチェック入れるんだろ?
1分でも短いかな?
普通そんな時間で終わらせられないよなw
事前準備の手順があって結果のデータを見比べて
画面を注意深く観察してスクショとって
チェック表にチェック入れるんだろ?
1分でも短いかな?
562デフォルトの名無しさん
2021/02/22(月) 07:08:55.27ID:Vv8+u1qd >>560
お前がストレス解消のために書いてるってことはわかったよw
お前がストレス解消のために書いてるってことはわかったよw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- マヨネーズにわさび、山椒、卵の黄身、ラー油、オリーブオイルを入れてよく混ぜてください
- 千晴とVIPの深夜の遊戯
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- カメラのキタムラとかいう穴場
- ひろゆき「愛があるから人は苦しまなきゃいけないんだね」
