クソコードとは何かat TECH
クソコードとは何か - 暇つぶし2ch540:デフォルトの名無しさん
21/02/22 06:40:44.17 Vv8+u1qd.net
>>531
毎回やらなくていいとはどうやって判断したのか?
いつも想定してない所でバグが出るもんだ
コミットのたびにCIで全テストをするのは当たり前
ローカルでは一部のテストだけを行えばいいが
CIで自動的に全テストを行うのは普通の話だ
そこまでの高い信頼性を手動テストでやってるか?

541:デフォルトの名無しさん
21/02/22 06:41:49.22 PA6Gvk4i.net
自動テストで完結しないのに、議論に値しないだろ

542:デフォルトの名無しさん
21/02/22 06:42:47.10 Vv8+u1qd.net
>>534
論点はどれだけ時間を減らせるかだ
手動でしかできない部分だけ手動でやる
自動でできる部分も含めて全部手動でやる
どちらが時間がかかるか言うまでもないな

543:デフォルトの名無しさん
21/02/22 06:42:57.10 PA6Gvk4i.net
自動テストはヒマなら書くレベルの価値しかない

544:デフォルトの名無しさん
21/02/22 06:43:52.26 Vv8+u1qd.net
>>536
話し終わってねーだろw
手動テストが時間がかかるという話が出た途端
なぜそれまでの話をなかった事にするんだ?www

545:デフォルトの名無しさん
21/02/22 06:45:01.26 PA6Gvk4i.net
自動テスト書くくらいなら他の仕事やれよ
単価テスターの6倍とかなんだから

546:デフォルトの名無しさん
21/02/22 06:45:38.77 Vv8+u1qd.net
>>538
ならテスターが自動テスト書けばいいだろwww

547:デフォルトの名無しさん
21/02/22 06:46:59.64 PA6Gvk4i.net
>>539
それはアリ、でもそんな現場は無い

548:デフォルトの名無しさん
21/02/22 06:48:25.53 Vv8+u1qd.net
>>540
類は友を呼ぶってことだよw
自動テストがあるプロジェクトはたくさんある

549:デフォルトの名無しさん
21/02/22 06:48:33.24 PA6Gvk4i.net
プログラム分からないほうがテスターとして価値ある
時々すごい操作するし

550:デフォルトの名無しさん
21/02/22 06:49:22.93 PA6Gvk4i.net
メンテしなくなる自動テストのエレジー

551:デフォルトの名無しさん
21/02/22 06:51:06.89 PA6Gvk4i.net
もう丸1年くらいテストコード見てない

552:デフォルトの名無しさん
21/02/22 06:51:42.66 Vv8+u1qd.net
はい、手動テストの方が時間がかかるって
結論をそらし始めましたよw

553:デフォルトの名無しさん
21/02/22 06:51:53.08 PA6Gvk4i.net
ヒマなら書いたほうが良いのは認めてる

554:デフォルトの名無しさん
21/02/22 06:52:54.59 PA6Gvk4i.net
社員じゃないんで書きたくないというのもある

555:デフォルトの名無しさん
21/02/22 06:53:42.35 wMwiRJvv.net
自動テスト書いた方が早いことは自動テスト書きながら開発してるやつなら分かると思うんだ

556:デフォルトの名無しさん
21/02/22 06:54:15.04 PA6Gvk4i.net
エンドが書けば良いと思うんだが・・オナニーと大して変わらないんだから

557:デフォルトの名無しさん
21/02/22 06:57:07.17 PA6Gvk4i.net
SwaggerとかでAPI自動生成される場合は書いたほうが良いな

558:デフォルトの名無しさん
21/02/22 06:58:12.31 Vv8+u1qd.net
自動テストを書く時間まで積んだうえの開発コストだと思うんだが?w
手動でテストをすると、その開発コストが大きくかかる

559:デフォルトの名無しさん
21/02/22 06:59:23.38 PA6Gvk4i.net
手動テスト要らないプロジェクトを知らない

560:デフォルトの名無しさん
21/02/22 07:00:39.66 Vv8+u1qd.net
手動テスト要らないなんて一言も言ってないよな
自動テストを書く時間まで積んだうえの開発コスト
全部手動でテストをすると、その開発コストが大きく跳ね上がる

561:デフォルトの名無しさん
21/02/22 07:02:05.20 PA6Gvk4i.net
>>553
そんな事ない、テスト観点の洗い出しが変なだけ

562:デフォルトの名無しさん
21/02/22 07:03:27.97 Vv8+u1qd.net
>>554
テスト観点の洗い出しが良くなれば
同じ件数のテストを手動で早く実行できるという
理由を言ってみて
手動テスト要らないなんて一言も言ってないよな
自動テストを書く時間まで積んだうえの開発コスト
全部手動でテストをすると、その開発コストが大きく跳ね上がる

563:デフォルトの名無しさん
21/02/22 07:04:10.61 PA6Gvk4i.net
テストコードの保守工数より手動テストしたほうが確実

564:デフォルトの名無しさん
21/02/22 07:04:42.42 PA6Gvk4i.net
>>555
自分で考えろ

565:デフォルトの名無しさん
21/02/22 07:05:28.58 Vv8+u1qd.net
やっぱり話をすり替えようとしていただけだったかw

566:デフォルトの名無しさん
21/02/22 07:06:08.80 Vv8+u1qd.net
具体例
俺が作ってる1万行程度のツールはテスト項目数が1000個以上ある
この項目数は多いというほどのものでもないだろう
このテストを全て自動的に実行する時間はに30秒程度
もし手動で実行するなら1つあたり10秒で終わらせられたとしても
1万秒、300倍以上もの時間がかかっている
1万秒といったら、2時間半以上にもなる
開発しながらテストとかやってられないレベル
大きなシステムではテスト項目数は数万、数十万にもなるから
テストに数日かかる。コードを修正するたびにそんな事やってられないから
手動テストはテストをサボることになる

567:デフォルトの名無しさん
21/02/22 07:07:12.30 PA6Gvk4i.net
いちいち理由を聞くな、ここは自分考えだけを言って
ストレス解消する便所の落書きだ

568:デフォルトの名無しさん
21/02/22 07:08:35.98 Vv8+u1qd.net
まあ手動のテストで1つあたり10秒って書いたけど
普通そんな時間で終わらせられないよなw
事前準備の手順があって結果のデータを見比べて
画面を注意深く観察してスクショとって
チェック表にチェック入れるんだろ?
1分でも短いかな?

569:デフォルトの名無しさん
21/02/22 07:08:55.27 Vv8+u1qd.net
>>560
お前がストレス解消のために書いてるってことはわかったよw

570:デフォルトの名無しさん
21/02/22 07:08:56.10 PA6Gvk4i.net
暇ならテスト書いていいんじゃない

571:デフォルトの名無しさん
21/02/22 07:10:09.10 Vv8+u1qd.net
暇だからという理由で手動テストをしてたのか?
手動テストをやめれば暇になるぞwww

572:デフォルトの名無しさん
21/02/22 07:10:31.54 PA6Gvk4i.net
開発工数30日とかテストなんか書けるかハゲ

573:デフォルトの名無しさん
21/02/22 07:11:40.21 Vv8+u1qd.net
>>565
だからテストしないと?
プロの仕事じゃないな

574:デフォルトの名無しさん
21/02/22 07:11:58.72 PA6Gvk4i.net
巷には短納期かつトラブル案件だらけ

575:デフォルトの名無しさん
21/02/22 07:12:33.00 Vv8+u1qd.net
そして短納期かつトラブル案件は自動テストがない
なるほどなw

576:デフォルトの名無しさん
21/02/22 07:12:50.79 PA6Gvk4i.net
悠々とテストコード書ける案件やりたいな

577:デフォルトの名無しさん
21/02/22 07:13:46.16 Vv8+u1qd.net
テストコード書く時間がないなら
それよりももっと時間がかかる手動テストやれるわけがないので
テストサボってるだけなんだろうな

578:デフォルトの名無しさん
21/02/22 07:14:21.10 PA6Gvk4i.net
テストコード工数を認めてもらえる案件やりたいな
もう単体テストはエンドでやる、みたいなのばっかり

579:デフォルトの名無しさん
21/02/22 07:15:19.40 PA6Gvk4i.net
そして仕様変更が来る

580:デフォルトの名無しさん
21/02/22 07:16:26.70 PA6Gvk4i.net
エージェントが20%とか抜いてるからエンドがコストにシビアすぎる

581:デフォルトの名無しさん
21/02/22 07:18:04.08 Vv8+u1qd.net
自動テストがないプロジェクトは短納期かつトラブル案件らしいw

582:デフォルトの名無しさん
21/02/22 07:18:22.62 PA6Gvk4i.net
もう60日以上の案件久しくやってないな

583:デフォルトの名無しさん
21/02/22 07:18:33.25 Vv8+u1qd.net
プロジェクトの炎上具合を測れるな
自動テストがないプロジェクトは短納期かつトラブル案件

584:デフォルトの名無しさん
21/02/22 07:19:07.55 PA6Gvk4i.net
自動テストとか暇な案件が羨ましいわ

585:デフォルトの名無しさん
21/02/22 07:19:23.92 Vv8+u1qd.net
自動テストを書いてないやつは、60日以上の案件をやらせてもらえないらしい

586:デフォルトの名無しさん
21/02/22 07:20:34.85 PA6Gvk4i.net
自動テストあるのにメンテしてなくて炎上するケースが50%くらいある
ずっと自動テスト工数割いてくれよ

587:デフォルトの名無しさん
21/02/22 07:21:38.82 PA6Gvk4i.net
60日以上の案件がほぼ無い

588:デフォルトの名無しさん
21/02/22 07:22:34.66 PA6Gvk4i.net
120日半年くらいあればなぁ

589:デフォルトの名無しさん
21/02/22 07:22:48.08 IPejWs3O.net
>>533
最近の単体テストツールは影響がないテストコードを実行しないものが多くある

590:デフォルトの名無しさん
21/02/22 07:23:43.26 PA6Gvk4i.net
他人の書いたテストコードのメンテが辛いのは分かる

591:デフォルトの名無しさん
21/02/22 07:27:46.33 PA6Gvk4i.net
メソッドを今流にメンテしたらテストコード通らないからギリギリまでママにされていて大規模改修とかやめてくれ

592:デフォルトの名無しさん
21/02/22 07:29:23.41 PA6Gvk4i.net
テストを直すのがめんどくさい時が多々ある
やめてくれ

593:デフォルトの名無しさん
21/02/22 07:52:25.48 PA6Gvk4i.net
テストコードとか書かないに限るな

594:デフォルトの名無しさん
21/02/22 08:29:30.69 UqVKWzXS.net
平日にID真っ赤にする手動テストおじさんはNGしとけ
無視して俺らと会話しようぜ
仕事してるからレスは少なくなるけど

595:デフォルトの名無しさん
21/02/22 18:49:35.65 /OsI7R0n.net
本日の職場で見たクソコード
class MainActivity implement 機能Aインタフェース, 機能B,インタフェース 機能Cインタフェース...機能Mインタフェース{
}
なんで12個のインタフェース継承してるの?
円卓の騎士かな?
Androidで発生するイベント全部、1個のアクティビティに継承して実装するのやめてください実装者が死んでしまいます

596:デフォルトの名無しさん
21/02/22 19:43:16.58 FCcJxvZt.net
それはクソコードと言うよりクソ設計だろ

597:デフォルトの名無しさん
21/02/22 22:40:13.49 hhtkxh8a.net
クソコード兼クソ設計だな

598:デフォルトの名無しさん
21/02/23 13:35:47.17 q1iKZVvs.net
>>587
なんか話せよ

599:デフォルトの名無しさん
21/02/23 13:39:35.37 q1iKZVvs.net
>>559
そのテストコード書くのにかかった時間は仕様変更によりすべて無駄になる世界があるんよ、君はまだ世界の広さを知らない

600:デフォルトの名無しさん
21/02/23 14:42:48.42 iu17pC6m.net
>>592
仕様変更によりテスト手順書が全て無駄になる世界はないのか?w

601:デフォルトの名無しさん
21/02/23 16:14:44.38 5BmsWjYf.net
こいついっつもテストする時間のことを無視するよなw
テストコードを書く vs テストコードを書かないでしか比べてない
それよりも重要な何度も行うテストの時間を持ち出されたら困るのだろうな
手動で数回テストをするだけであっという間に開発コストが数倍に跳ね上がる

602:デフォルトの名無しさん
21/02/23 16:23:12.42 xxo3T1mG.net
テスト書くのめんどくさいんで俺が抜けた後のやつに任せるわ

603:デフォルトの名無しさん
21/02/23 16:58:13.53 8QyPv/It.net
テストコード1回書く間に手動テスト5回はできそうなんだが?
んで1回テスト通したら次の変更までやんねーよな?

604:デフォルトの名無しさん
21/02/23 17:21:41.87 0iI/BmGY.net
ここまでをまとめると、テストコードはSWAGGERとかで自動生成される部分のみでおk?

605:デフォルトの名無しさん
21/02/23 17:21:54.85 iu17pC6m.net
>>596
それ、テスト手順書書く時間入れてなくね?

606:デフォルトの名無しさん
21/02/23 17:48:25.42 q1iKZVvs.net
>>593
テスト手順書なんて作るん?

607:デフォルトの名無しさん
21/02/23 17:49:26.31 q1iKZVvs.net
>>598
テスト手順書って何?

608:デフォルトの名無しさん
21/02/23 17:50:39.14 q1iKZVvs.net
仕様変更があるのは手順書作る前だから問題ないのさ、でもテストコードは無駄の極み底辺コーダーの自己満なのさ

609:デフォルトの名無しさん
21/02/23 17:51:03.33 q1iKZVvs.net
>>597
オーケー

610:デフォルトの名無しさん
21/02/23 17:53:11.25 q1iKZVvs.net
ユニットテスト100回回すより総合テスト1回の方が品質高まる、実装ミスなんて現代のプログラミング環境では無視できる

611:デフォルトの名無しさん
21/02/23 18:07:19.13 5BmsWjYf.net
>>596
> テストコード1回書く間に手動テスト5回はできそうなんだが?
たった5回って少なすぎだろw
バグ5個見つかったらそれで終わりじゃん

612:デフォルトの名無しさん
21/02/23 18:33:09.14 0iI/BmGY.net
flutterとかJITでガンガン テスト→修正→リファクタリング を繰り返すからテストコード要らないんだよね。

613:デフォルトの名無しさん
21/02/23 19:03:27.43 5BmsWjYf.net
>>605
Flutter標準のやり方でテストしてるってことかな?
どの方法を使ってるの?
Testing Flutter apps
URLリンク(flutter.dev)
Automated testing falls into a few categories:
- A unit test tests a single function, method, or class.
- A widget test (in other UI frameworks referred to as component test) tests a single widget.
- An integration test tests a complete app or a large part of an app.

614:デフォルトの名無しさん
21/02/23 19:15:46.42 5BmsWjYf.net
>>606のページに書いてあった
          Unit  Widget  Integration
Confidence    Low  Higher  Highest
Maintenance cost Low  Higher  Highest
Dependencies   Few  More  Most
Execution speed  Quick  Quick  Slow

俺が言っていたことと同じだけど翻訳すると
・信頼性
 ユニットテスト:低い ウィジット:高い 統合テスト:最高
・メンテナンスコスト
 ユニットテスト:低い ウィジット:多い 統合テスト:最も多い
・依存関係
 ユニットテスト:低い ウィジット:少し依存する 統合テスト:たくさん依存する
・実行速度
 ユニットテスト:速い ウィジット:速い 統合テスト:遅い
統合テストはメンテナンスコストが悪くて遅いんだよね

615:デフォルトの名無しさん
21/02/23 19:44:22.51 iu17pC6m.net
>>599-600
テスト手順書知らない体なのに>>601で手順書の前とか意味不明
テスト語る前に自分の頭のデバッグしろよw

616:デフォルトの名無しさん
21/02/23 20:57:27.28 0iI/BmGY.net
テストコードは暇なら書くレベルの価値しかない
AppleもGoogleも特に推奨してないし

617:デフォルトの名無しさん
21/02/23 21:01:10.20 5BmsWjYf.net
はいはい、議論の負けたから続きじゃなくて
前の話に戻して逃げるとw

618:デフォルトの名無しさん
21/02/23 21:03:22.33 0iI/BmGY.net
>>610
それ言うなら「議論に」かな?
日本語を勉強しよう!

619:デフォルトの名無しさん
21/02/23 21:04:02.68 5BmsWjYf.net
やっぱりどうでもいい指摘

620:デフォルトの名無しさん
21/02/23 21:05:07.62 5BmsWjYf.net
Flutterが自動テストを推奨していることをどう思うのか?
Testing Flutter apps
URLリンク(flutter.dev)
Automated testing falls into a few categories:
- A unit test tests a single function, method, or class.
- A widget test (in other UI frameworks referred to as component test) tests a single widget.
- An integration test tests a complete app or a large part of an app.

621:デフォルトの名無しさん
21/02/23 21:05:55.00 0iI/BmGY.net
テストコード自動生成ツールとかあったな・・
今どこいったんだろ・・

622:デフォルトの名無しさん
21/02/23 21:07:29.73 5BmsWjYf.net
>>614
使えないものは消えるだけの話
自動テストに、テストコード自動生成とかいう眉唾ものは必要ない

623:デフォルトの名無しさん
21/02/23 21:08:51.50 0iI/BmGY.net
>>613
どこで推奨してる?五万とあるプラグインのほとんどにテストコード無いけど。

624:デフォルトの名無しさん
21/02/23 21:09:47.53 H7g3tUGv.net
URLリンク(developer.android.com)

625:デフォルトの名無しさん
21/02/23 21:10:16.06 5BmsWjYf.net
>>616
一番最初に書いてある
The more features your app has, the harder it is to test manually.
Automated tests help ensure that your app performs correctly
before you publish it, while retaining your feature and bug fix velocity.

626:デフォルトの名無しさん
21/02/23 21:11:47.89 0iI/BmGY.net
>>617
推奨はしてないね。

627:デフォルトの名無しさん
21/02/23 21:12:45.23 5BmsWjYf.net
>>619
手動テストやれって書いてある?
書いてないね

628:デフォルトの名無しさん
21/02/23 21:13:16.46 0iI/BmGY.net
テストコード書け、ってwarningでも見たことないし

629:デフォルトの名無しさん
21/02/23 21:14:20.96 5BmsWjYf.net
>>621
カバレッジがそれに相当する
テストされてる範囲が低ければエラーになったりするし

630:デフォルトの名無しさん
21/02/23 21:15:40.93 0iI/BmGY.net
つまり暇なら書くレベルなんだよ。
「テストコード工数が嵩んで納期を守れません」
なんてPJ無いし。

631:デフォルトの名無しさん
21/02/23 21:16:18.20 5BmsWjYf.net
ほーらやっぱり反論できなかったw

632:デフォルトの名無しさん
21/02/23 21:16:58.40 H7g3tUGv.net
>>623
根拠は?
俺はURL示したけど
あと、Developerサイトに書いてあることが推奨じゃなかったらなんなの?必須?

633:デフォルトの名無しさん
21/02/23 21:18:00.51 0iI/BmGY.net
Xcodeとかでもテストコードカバレージ出るけどエラーになるかな・・

634:デフォルトの名無しさん
21/02/23 21:20:06.97 0iI/BmGY.net
>>625
そのURLは自動テストはこうやったら良いですよ。っていう紹介ページだよ。
秋葉原のテスト専門会社に出したほうがトラブル少ないし安いし。

635:デフォルトの名無しさん
21/02/23 21:21:23.76 0iI/BmGY.net
自動テストは暇ならやればいいよ。

636:デフォルトの名無しさん
21/02/23 21:23:33.72 5BmsWjYf.net
>>627
手動テストはこうやったらいいよっていう紹介はないんですね
やっぱり紹介するに値しないものだからなんでしょうね

637:デフォルトの名無しさん
21/02/23 21:24:44.69 0iI/BmGY.net
>>629
その意見はなんかズレてる気がするけど・・ジジイ?

638:デフォルトの名無しさん
21/02/23 21:26:29.19 luu761LB.net
>>630
そいつ田中勇だよ、相手にするな

639:デフォルトの名無しさん
21/02/23 21:26:51.74 H7g3tUGv.net
> そのURLは自動テストはこうやったら良いですよ。っていう紹介ページだよ。
> 秋葉原のテスト専門会社に出したほうがトラブル少ないし安いし。
TDD知らないの?

640:デフォルトの名無しさん
21/02/23 21:28


641::40.06 ID:2jti1hD2.net



642:デフォルトの名無しさん
21/02/23 21:28:52.26 zrvRgTjD.net
>>632
あ、もういいです。テストコードは基本書きません。
暇なら適宜書きます。

643:デフォルトの名無しさん
21/02/23 21:30:42.76 H7g3tUGv.net
>>634
お前はそうなのだろうけど、他所スレでやってくれない?
ここのスレタイ読める?

644:デフォルトの名無しさん
21/02/23 21:37:27.80 ruTDgDI5.net
ほんとこいつまじうぜぇ

645:デフォルトの名無しさん
21/02/23 21:55:00.29 zrvRgTjD.net
>>602
で、結論が出てるので自動テストの話は終了するか自動テストスレを立てて下さい。

646:デフォルトの名無しさん
21/02/24 01:17:48.29 edAGB3A3.net
モジュール仕様書って作る?javadocみたいな
cだから開発環境では作ってくれなくて、自前で用意するしかなさそうな雰囲気なんだけど自動生成してくれるツールとかない?

647:デフォルトの名無しさん
21/02/24 01:27:10.83 cUgjNbyW.net
コレとかは違う?というかダメか。
URLリンク(gist.github.com)

648:デフォルトの名無しさん
21/02/24 05:41:22.24 IL+ryHZw.net
>>634
テストコードを書いてないあんたが忙しいというのはよくわかった
自動テストをしてないプロジェクトが炎上するのはよく聞く話だ
やっぱり忙しくなるんだね

649:デフォルトの名無しさん
21/02/24 07:35:11.50 1rMe/08W.net
蒸し返さなくていいから二人揃って隔離病棟池

650:デフォルトの名無しさん
21/02/24 07:36:31.14 7Ynmy8c9.net
>>638
とりあえずdoxygenはCにも対応してるはず
URLリンク(www.doxygen.jp)

651:デフォルトの名無しさん
21/02/24 07:50:22.37 cUgjNbyW.net
>>640
おまえ死ねよ、しつこいよ

652:デフォルトの名無しさん
21/02/24 08:17:54.05 144B6M1D.net
>>641,643
お前らも相手すんな

653:デフォルトの名無しさん
21/02/24 08:53:02.20 edAGB3A3.net
>>642
知らなかった ありがとう

654:デフォルトの名無しさん
21/02/24 18:26:31.18 FKCMCStr.net
職場のクソコード
永続化する必要のない変数、全てをSQLightで管理
O/Rマッパー?何それ?
男は黙ってSQL文の文字列を埋め込め
データの取り出し方?

655:デフォルトの名無しさん
21/02/24 18:30:34.85 FKCMCStr.net
SELECTを書け
こうして、各種コードからSQLでアクセスするというグローバル変数共有化より恐ろしいクソコードができあがった
上司が勝手に外注に丸投げして作らせたコードが、プロジェクトメンバーでもない筈の俺の手元に何故か回ってきて発狂中

656:デフォルトの名無しさん
21/02/24 18:35:50.36 FKCMCStr.net
今日の心がけ◆丸投げはやめましょう
一般社団法人クソコード研究所

657:デフォルトの名無しさん
21/02/25 06:46:12.65 zWIoETxB.net
コメントを無駄に装飾するのやめてほしいわ
2行以上の全コメントが枠で囲ってあんの

658:デフォルトの名無しさん
21/02/25 07:39:27.32 tKZpxD44.net
ポインタで挫折するってよく言われてるけど
アドレスの意味がわかってないだけ
int a = 1;
int* b= a;
a = 2;
int c = *b;
これでcに2が入ってないことがわからないとか論外だろ

659:デフォルトの名無しさん
21/02/25 08:11:39.04 bxBNuN1v.net
>>650
ごめん、わからんわ

660:デフォルトの名無しさん
21/02/25 09:08:33.19 2DtRWZ66.net
>>608
手順書がかりにあるとしてもという話だよアホが

661:デフォルトの名無しさん
21/02/25 09:12:18.10 bxBNuN1v.net
>>652
手順書が何かを知らないのに仮にあるとしてとかアホすぎ
恥の上塗りかよw

662:デフォルトの名無しさん
21/02/25 09:18:01.68 2DtRWZ66.net
>>653
何か知らなくても仮定することできるよ
ブラックホールがあるとしても僕たちが吸い込まれることを恐れることはない、のように

663:デフォルトの名無しさん
21/02/25 09:18:59.00 2DtRWZ66.net
知ってるってことだけでマウンティングしようとしてるアホが君だよ、浅はかなのだよ

664:デフォルトの名無しさん
21/02/25 09:21:13.40 2DtRWZ66.net
自動テストは底辺コーダの自己満と心に刻みなさい

665:デフォルトの名無しさん
21/02/25 09:22:15.80 2DtRWZ66.net
テスト手順書という言葉は君の造語だと僕は思ってるけどね、一般的なものだとは思えない

666:デフォルトの名無しさん
21/02/25 09:23:57.48 2DtRWZ66.net
自動テスト1万回回すより手動テスト一回の方が品質高い

667:デフォルトの名無しさん
21/02/25 09:31:19.73 bxBNuN1v.net
>>654
手順書が何かも知らないなら前とか分からんだろw
論理的思考能力 "0" の無能乙

668:デフォルトの名無しさん
21/02/25 09:35:33.88 2DtRWZ66.net
>>659
ははーん君は仮定が何かを知らないようだねえw

669:デフォルトの名無しさん
21/02/25 09:37:40.49 2DtRWZ66.net
君は手順書wを知っていると言ってるだけの虚ろなテープレコーダーとなり下がった

670:デフォルトの名無しさん
21/02/25 09:40:12.87 2DtRWZ66.net
テスト手順書という言葉自体一般社会では通用しない代物だから知らなくていいものだとは思ってるが仮にそのような下賤なものがあるとしても問題ないと言ってるのだよ、ここまで噛み砕かないとわからないかな

671:デフォルトの名無しさん
21/02/25 09:42:43.67 bxBNuN1v.net
相変わらずキチのままだな
存在の仮定には反論してないぞ
そんなことも分かってないだろw

672:デフォルトの名無しさん
21/02/25 10:09:07.67 R7WVwVFS.net
誰か>>650の相手してやれよ(2行目

673:デフォルトの名無しさん
21/02/25 11:15:52.49 2DtRWZ66.net
>>663
反論してないのな

674:デフォルトの名無しさん
21/02/25 11:16:02.45 2DtRWZ66.net
>>664
アンドな

675:デフォルトの名無しさん
21/02/25 11:18:21.06 2DtRWZ66.net
>>664
あれ、でもこれ2が入ってないことと言ってるからアンドなくていんじゃね

676:デフォルトの名無しさん
21/02/25 11:31:45.02 R7WVwVFS.net
>>667
もちろんそうなんだけど、そもそもexceptionじゃね?
とかw

677:デフォルトの名無しさん
21/02/25 11:35:19.84 bxBNuN1v.net
>>664
C言語すら怪しいのにドヤってるやつの相手しろってか?w

678:デフォルトの名無しさん
21/02/25 11:35:58.12 bxBNuN1v.net
>>665
反論はしてない、お前のアホさを指摘してるだけw

679:デフォルトの名無しさん
21/02/25 12:13:25.25 2DtRWZ66.net
>>668
それはOSによるんじゃないかな

680:デフォルトの名無しさん
21/02/25 12:13:36.12 2DtRWZ66.net
>>670
反論してないのな

681:デフォルトの名無しさん
21/02/25 12:14:48.54 2DtRWZ66.net
なんだ反論してなかったのか
僕の主張が全面的に正しくて反論の余地が一切なかったということか

682:デフォルトの名無しさん
21/02/25 12:16:12.07 2DtRWZ66.net
2であることは保証されないよねって論旨だからOSによる動作の違いは些末なものさ

683:デフォルトの名無しさん
21/02/25 12:18:43.21 2DtRWZ66.net
自動テストは底辺コーダの自己満です、システムの品質は一切上がりません、自動テストは80年代の手法

684:デフォルトの名無しさん
21/02/25 12:46:09.79 R7WVwVFS.net
環境によるって話なら2が入る可能性もあるよw

685:デフォルトの名無しさん
21/02/25 13:26:17.62 bxBNuN1v.net
>>668
未定義動作だからそもそもcがないとかw

686:デフォルトの名無しさん
21/02/25 13:26:53.04 bxBNuN1v.net
>>673
アホさの指摘には触れられないってか?w

687:デフォルトの名無しさん
21/02/25 14:37:56.27 LJq279gj.net
int a = 1;
int* b= a;
2行目の暗黙的変換がエラーにならないのって相当古い実装だよね。今でもあるのかな?

688:デフォルトの名無しさん
21/02/25 15:33:47.71 tKZpxD44.net
入ってることがわからない、だった

689:デフォルトの名無しさん
21/02/25 15:54:22.42 2DtRWZ66.net
>>676
それは環境依存だから保証されないよねってことさ

690:デフォルトの名無しさん
21/02/25 15:57:22.21 2DtRWZ66.net
>>678
その言動がアホっぽいw

691:デフォルトの名無しさん
21/02/25 15:58:24.50 2DtRWZ66.net
>>679
コード的にはなんの問題もないからなあ

692:デフォルトの名無しさん
21/02/25 16:00:03.24 2DtRWZ66.net
>>680
そこの君ぃそれはおかしいぞ君ぃ

693:デフォルトの名無しさん
21/02/25 16:35:21.09 bxBNuN1v.net
>>682
>>682
まあ、もうそう言うレスしかできないんだろうけど…
可哀想にw

694:デフォルトの名無しさん
21/02/25 16:44:31.71 2DtRWZ66.net
>>685
そっくりそのまま返すわ

695:デフォルトの名無しさん
21/02/25 16:45:23.32 2DtRWZ66.net
僕は鏡、君はスケベ椅子

696:デフォルトの名無しさん
21/02/25 16:47:45.65 cAbWQIRq.net
>>679
constraint violationなので実装依存
標準に準拠してれば最低限警告は出す

697:デフォルトの名無しさん
21/02/25 16:53:27.63 bxBNuN1v.net
>>686
返してどうするw
指摘に対してなにも言えないのは君ね
ちなみに反論はできないんじゃなくてする必要がないからしてないだけだから
>>663にその理由も書いてあるけど理解できてないでしょ?

698:デフォルトの名無しさん
21/02/25 16:53:58.85 R7WVwVFS.net
>>680
int c = *b; の時、b = 1だから、1番他のint型の内容をcに入れてるよ

699:デフォルトの名無しさん
21/02/25 16:57:15.36 2DtRWZ66.net
>>689
はいはいまとめると反論ありませんってことな

700:デフォルトの名無しさん
21/02/25 17:01:11.50 2DtRWZ66.net
僕の鉄のような正論の前で反論できなさすぎて悔しくて僕の人格を貶めようと頑張っておられるところ恐縮ですが反論ないのな

701:デフォルトの名無しさん
21/02/25 17:05:53.09 0Aa2beUH.net
あわしろ氏は、 >>692 は勉強しなおすべきと言ってたな。

702:デフォルトの名無しさん
21/02/25 17:22:49.64 bxBNuN1v.net
>>691-692
する必要のない反論はなくて
アホさの指摘にはぐぅの音も出なくてクヤチー
ってことなw

703:デフォルトの名無しさん
21/02/25 18:01:57.08 2DtRWZ66.net
>>694
反論ないのな

704:デフォルトの名無しさん
21/02/25 18:02:38.68 2DtRWZ66.net
>>693
あわしろってLinux板で叩かれてるやつだろ

705:デフォルトの名無しさん
21/02/25 18:59:36.92 bxBNuN1v.net
>>695
バカはレスできなくなると同じ内容をひたすら繰り返すようになるのな
もちろん反論は(必要ないから)ないし、アホと言う指摘に触れられたくない必死のアホがいるという事実も変えられないw

706:デフォルトの名無しさん
21/02/25 19:03:00.55 d2pfH4ce.net
>>697
> バカはレスできなくなると同じ内容をひたすら繰り返すようになるのな
↓これなw
675 名前:デフォルトの名無しさん[sage] 投稿日:2021/02/25(木) 12:18:43.21 ID:2DtRWZ66 [17/27]
自動テストは底辺コーダの自己満です、システムの品質は一切上がりません、自動テストは80年代の手法

707:デフォルトの名無しさん
21/02/25 19:29:01.20 NnkAM5s4.net
Googleのエンジニアに「自動テストは時間の無駄だから手動テストにしろ」って言えたら本物だよ

708:デフォルトの名無しさん
21/02/25 20:08:29.75 2DtRWZ66.net
>>698
これ正しいな

709:デフォルトの名無しさん
21/02/25 20:15:40.28 GSBW3E39.net
自動テストサイクルが回ってるの見たことない

710:デフォルトの名無しさん
21/02/25 20:16:42.74 d2pfH4ce.net
炎上の現場からお送りします。
「自動テストサイクルが回ってるの見たことない。テストする時間がない。」

711:デフォルトの名無しさん
21/02/25 20:17:43.83 2DtRWZ66.net
>>699
権威にすがった時点で論理的に間違ってると認めたようなもんなんだよ

712:デフォルトの名無しさん
21/02/25 20:20:05.02 2DtRWZ66.net
>>702
僕はテストコードにこだわって破綻したプロジェクトを経験したことある、手段にこだわって目的を見失ったパターンですわ、それ以来僕はテストコードはにわかコーダの自己満だと思うようになったのだねえ

713:デフォルトの名無しさん
21/02/25 20:22:11.13 d2pfH4ce.net
>>704
そのプロジェクトは権威がある所のプロジェクトですか?
それとも権威がない所のプロジェクトですか?

714:デフォルトの名無しさん
21/02/25 20:25:43.66 GSBW3E39.net
一回のテストで確認してるものが多すぎるのだ
ひとつの結果をチェックって
DB更新するのにレコード全体がチェック対象になんねん

715:デフォルトの名無しさん
21/02/25 20:27:32.84 d2pfH4ce.net
手動テストなら、レコード全体をチェックしなくても
動いてるからヨシでリリースできるのだ

716:デフォルトの名無しさん
21/02/25 21:59:16.03 2DtRWZ66.net
>>707
良いこと言った、君は現場をよくわかってる

717:デフォルトの名無しさん
21/02/25 21:59:58.67 2DtRWZ66.net
自動テスト自己満コーダたちは現場を知らない

718:デフォルトの名無しさん
21/02/26 01:10:16.93 HiCUAcQC.net
おっ、まだやってる?
オラオラもっと罵り合えや!

719:デフォルトの名無しさん
21/02/26 01:28:41.17 nwGfe0iv.net
>>710
うるせえ!今何時だと思ってんだ!馬鹿野郎が!

720:デフォルトの名無しさん
21/02/26 01:30:59.68 nqhzic13.net
>>708
やっぱりプロの仕事じゃねーなw

721:デフォルトの名無しさん
21/02/26 03:47:36.47 5d4w5oMJ.net
テストコードなんか書かせてくれるエンドなんか
もう無いだろ、・・・

722:デフォルトの名無しさん
21/02/26 03:49:44.09 lNpcN0RJ.net
リクルートで10年アプリ作ってたけどテスト書いたことない

723:デフォルトの名無しさん
21/02/26 06:13:35.29 sPHbC1so.net
なんでユニットテストは品質が上がらないんだ?

724:デフォルトの名無しさん
21/02/26 07:05:56.03 nwGfe0iv.net
>>715
見てるところか小さすぎる
製品の使い勝手をねじを眺めることで見極めようとするようなものマイクロテストは時代遅れの遺物
大事なのは全体品質ということ

725:デフォルトの名無しさん
21/02/26 07:13:20.98 nwGfe0iv.net
システムを使うのは人間なんだから人間が最初から最後まで使ってみて品質を研ぎ澄ましていくんだよネジの造形を眺めて悦に入ってるようじゃダメだね
現代の開発環境では実装ミスなんて起こらないからそこを一生懸命テストしてどうするのってこと

726:デフォルトの名無しさん
21/02/26 07:46:11.61 nqhzic13.net
一所懸命テストしてるから実装ミスが起きてない
因果関係がおかしい

727:デフォルトの名無しさん
21/02/26 08:20:21.32 wRESsqiS.net
実装ミスの定義がわからんw

728:デフォルトの名無しさん
21/02/26 08:52:36.60 nqhzic13.net
仕様バグじゃなくて、実装上のバグのことだろ?
それ以外に考えられない

729:デフォルトの名無しさん
21/02/26 09:18:10.55 5d4w5oMJ.net
もう外食を禁止しちゃえばよくね?

730:デフォルトの名無しさん
21/02/26 09:43:28.53 nwGfe0iv.net
外食を禁止します!

731:デフォルトの名無しさん
21/02/26 12:12:42.54 xnYLStfr.net
>>709
頼むから、お前のレベルの低い職場を基準に語るのやめろ
あと、いい加減に隔離スレ行け、池沼

732:デフォルトの名無しさん
21/02/26 12:48:01.58 wRESsqiS.net
>>720
最近の開発環境だと発生しないの?

733:デフォルトの名無しさん
21/02/26 12:58:34.45 mmiiD7K+.net
>>709
続きはこちらでどうぞ
【隔離】単体テスト・テストコードの必要性
スレリンク(tech板)

734:デフォルトの名無しさん
21/02/26 13:45:34.17 w2bvpH1M.net
まるちゃん、まともな仕事をしている人はまともな仕事であればあるほど
守秘義務があって仕事のことは何も話せないから、
SNSでそれっぽいことを大声で言っているアカウントは大抵偽物なんだよ。
URLリンク(twitter.com)
(deleted an unsolicited ad)

735:デフォルトの名無しさん
21/02/26 13:55:31.12 nwGfe0iv.net
興奮するとスレ建てするアホを観測してる

736:デフォルトの名無しさん
21/02/26 13:56:59.03 nwGfe0iv.net
自己満テストコード君
興奮スレ建て君
君たちに日本の未来を任せた

737:デフォルトの名無しさん
21/02/26 14:44:22.29 XCnNOCyO.net
単体テスト・テスト自動化・テストコードの必要性 2
スレリンク(tech板)

738:デフォルトの名無しさん
21/02/26 15:58:35.99 3WymOF2m.net
なんでスレ立て直すかな...
自演封じられると不都合あるの?

739:デフォルトの名無しさん
21/02/26 17:43:29.79 RgeNMGoP.net
>>714
事実でも嘘でも大問題ですね

740:デフォルトの名無しさん
21/02/26 18:19:35.79 KTQPKhRG.net
クソスレから派生スレ立てた上にその重複スレまで立てるとかマジ頭おかしい

741:デフォルトの名無しさん
21/02/26 18:22:47.93 y/9ce84r.net
>>731
いいんじゃねーの
自分しか使わんツールをシコシコ作ってたのかも知れんし

742:デフォルトの名無しさん
21/02/26 19:00:59.16 iQO5Z3xR.net
あわしろ氏は、重複大いに結構と言ってたけどな。

743:デフォルトの名無しさん
21/02/26 21:06:44.19 RUEbYDb7.net
テストコードのテストは誰がやるんだ

744:デフォルトの名無しさん
21/02/26 21:11:56.20 MVwmWMo6.net
手動テストのテストは誰がやるんだ?

745:デフォルトの名無しさん
21/02/26 21:13:09.39 9y4w8ED+.net
隔離スレがIPアドレス丸出しだから
こっちでやるか

746:デフォルトの名無しさん
21/02/26 21:22:05.56 9y4w8ED+.net
前にいた自称(手動)テストのプロが
バグがあるバグがある!エビデンスもある!って
叫んでいてトラブルになったんだが
結局そいつがテスト手順を間違えていただけというオチだった
テスト手順書にしっかり書いてありますよねって問い詰めたらそいつやめたわwww
データを削除するって書いてるんだから、全部のデータを消すに決まってるだろと
購入データだけ消すなよアホかってな

747:デフォルトの名無しさん
21/02/26 21:27:03.87 sPHbC1so.net
ぜんぶ消したらテスト環境が消えました!

748:デフォルトの名無しさん
21/02/26 21:28:27.68 9y4w8ED+.net
>>739
アホか空気ぐらいよめや

749:デフォルトの名無しさん
21/02/26 21:28:31.08 sPHbC1so.net
テスト毎にぜんぶDBデータ消すこと。ただしDBはチーム共通。規約違反はテストと認めない。
チーム20人もいれば簡単ですよね

750:デフォルトの名無しさん
21/02/27 08:18:35.15 8gimEtnd.net
どっちでもいいから他所いけ、キ・チ・ガ・イ
単体テスト・テスト自動化・テストコードの必要性 2
スレリンク(tech板)
【隔離】単体テスト・テストコードの必要性
スレリンク(tech板)

751:デフォルトの名無しさん
21/02/27 08:48:42.05 ZW3ZqwOa.net
テストコードを書かないとクソコードになるという話題でもする?
テストコードを書くなどをして、自作のクラスを必要としているところ以外から呼び出さないと、気が付かない内に他のクラスとベッタリ依存するコードを書いたりしそうだが、そこら辺はどう?

752:デフォルトの名無しさん
21/02/27 10:03:55.32 OfxFNKjU.net
>>743
テストコード書かないんだから問題ない
テストコードは目的ではない

753:デフォルトの名無しさん
21/02/27 10:05:26.57 hpJz9JUm.net
じゃあ目的は?そしてその目的をよりよい方法で解決する手段は?
目的と手段の2つをお答えください(笑)

754:デフォルトの名無しさん
21/02/27 10:05:53.12 OfxFNKjU.net
テストコードこそがクソコード、これがこのスレの結論でしょうな

755:デフォルトの名無しさん
21/02/27 10:07:23.47 OfxFNKjU.net
>>745
プログラムの目的とはユーザを満足させること
そのための手段として実際に人間が使ってみること
こんなこと聞いてる時点でダメだよね

756:デフォルトの名無しさん
21/02/27 10:07:54.07 OfxFNKjU.net
クソコード生産マシンの皆さん

757:デフォルトの名無しさん
21/02/27 10:09:22.56 hpJz9JUm.net
>>747
料理の目的は、客を満足させること
料理の手段は、実際に人間が食べてみるとと
さて?料理はどうやって作るんですか?w

758:デフォルトの名無しさん
21/02/27 10:09:23.73 OfxFNKjU.net
テストコード実行することが目的の皆さんは底辺コーダです

759:デフォルトの名無しさん
21/02/27 10:11:27.64 ZW3ZqwOa.net
>>709
>>748
あんた、オブジェクト指向はクソとか言いまわってた挙げ句に厶板住民から総攻撃を食らって知的障害を起こしながらID真っ赤にして人が罵倒してた人でしょ?
文章がソックリだし、知的障害者を起こして人の話を聞かなくなるところもそっくりだわ
まぁ、1つだけ言えるのは、自分の非を認めず、是正する気のないお前のクソコードなんてテストしても時間の無駄だな
お前がテストは無駄だと感じるのは無理もない
クソコードスレなんで、是非、あんたのコードを晒してほしいものだ
良いクソコード事例として貢献できるぞ

760:デフォルトの名無しさん
21/02/27 10:12:27.68 OfxFNKjU.net
>>749
実食を重ねて試行錯誤していくに決まってる
料理の鉄人という番組がありましたね
実食によってどちらが優れた料理か決めてましたね

761:デフォルトの名無しさん
21/02/27 10:14:18.32 hpJz9JUm.net
>>752
> 実食を重ねて試行錯誤していくに決まってる
ではきこう。試行錯誤を1日に1000回やるにはどうしたら良いか?

762:デフォルトの名無しさん
21/02/27 10:14:34.77 OfxFNKjU.net
>>751
それただの人格攻撃ですね
はあ、論理的に議論できない人プログラマーにもいるんですね

763:デフォルトの名無しさん
21/02/27 10:15:32.69 OfxFNKjU.net
>>753
1000回やる根拠がないので質問の意味がない、ナンセンスの塊

764:デフォルトの名無しさん
21/02/27 10:16:31.76 hpJz9JUm.net
>>755
自分で実食を重ねると言っておきながら
実食の回数を否定するのか?w

765:デフォルトの名無しさん
21/02/27 10:18:22.80 OfxFNKjU.net
>>756
よく読んでください、1000回という数字に根拠がないと言ってます、また手段と目的を見誤ってますね

766:デフォルトの名無しさん
21/02/27 10:19:07.52 OfxFNKjU.net
数字を増やすことが目的になっておられる

767:デフォルトの名無しさん
21/02/27 10:19:40.92 hpJz9JUm.net
>>757
1000回という回数にこだわってるのはお前
試行錯誤の回数は多いほうが良いと言っている
より多く試行錯誤をするにはどうすればいいか
実食を重ねて試行錯誤していくに決まってる(笑)

768:デフォルトの名無しさん
21/02/27 10:19:59.65 OfxFNKjU.net
こんなんだから日本はまともなソフトウェアを作れないんでしょうね

769:デフォルトの名無しさん
21/02/27 10:21:58.68 OfxFNKjU.net
>>759
おやおやそれは無理がありすぎでしょうw
1000回という数字を出してそれを達成するにはどうすればよいかを聞いたのはあなたでしょう、他人のせいにしないでください

770:デフォルトの名無しさん
21/02/27 10:22:42.60 OfxFNKjU.net
>>753であなたが言ってますよ

771:デフォルトの名無しさん
21/02/27 10:24:17.05 b2AUxonB.net
反論できなくなったらこれだから日本は~ってださすぎるだろ
そもそもIT先進国の方がテスト文化進んでるだろうに

772:デフォルトの名無しさん
21/02/27 10:24:31.17 OfxFNKjU.net
日本からユーチューブやツイッターが生まれないのはユーザを見ずにコードを見てるからです

773:デフォルトの名無しさん
21/02/27 10:25:42.78 ZW3ZqwOa.net
>>761
単体テストってビルドする度に実行するものだけど、理解できてます?
まさか、そんなことも理解せずに単体テスト批判してたの?
あと、クソコードスレなんで、是非、クソコード事例書いてみて
生産性のないお前の愚痴とか相手を挑発するだけで中身のない批判とかどうでもいいから

774:デフォルトの名無しさん
21/02/27 10:26:12.15 ZW3ZqwOa.net
あと、クソコードの話と絡めることができないのなら、隔離スレ行ってくれませんか?

775:デフォルトの名無しさん
21/02/27 10:28:16.32 OfxFNKjU.net
>>765
いつ実行するかをあなたは話してますね、ふーんって思いました、なんでそんな話をしてくるんだろう

776:デフォルトの名無しさん
21/02/27 10:28:52.51 OfxFNKjU.net
>>766
テストコード=クソコード
なのです

777:デフォルトの名無しさん
21/02/27 10:30:34.90 ZW3ZqwOa.net
>>768
理由は?
あと、俺が最初に挙げたテスト対象コードの依存の話は?

778:デフォルトの名無しさん
21/02/27 10:30:45.78 OfxFNKjU.net
あれを知ってるかこれを知ってるか、そんなことも知らないのか、民主党の国会質疑みたいですね

779:デフォルトの名無しさん
21/02/27 10:32:30.36 OfxFNKjU.net
>>769
テストコードを書くとテストコードを実行することやテストコードをきれいに書くことが目的なってしまうからです、このスレの議論を見ればよくわかりますね

780:デフォルトの名無しさん
21/02/27 10:32:39.93 ZW3ZqwOa.net



781: はあ、論理的に議論できない人プログラマーにもいるんですね(皮肉)



782:デフォルトの名無しさん
21/02/27 10:35:35.35 OfxFNKjU.net
言うに事欠いて僕の真似をするとは、良いでしょう、あなたがその言葉を発言することを許諾します

783:デフォルトの名無しさん
21/02/27 10:36:03.25 OfxFNKjU.net
許しました、僕は心が広いので

784:デフォルトの名無しさん
21/02/27 10:54:25.52 Yt5NHAzi.net
NG推奨:テスト

785:デフォルトの名無しさん
21/02/27 13:00:30.28 NhoBp4qK.net
>>742
クソコーダーはクソスレ建てるのがお上手ですね!

786:デフォルトの名無しさん
21/02/27 14:21:58.44 o6FTnlQR.net
まずこのスレがクソスレじゃん
どんなジャンルで悪いお手本をあげつらって技術磨くってのが成り立つんだよ
状況によって対応が細かく変わりうるプログラムってジャンルだと尚更ねーよ

787:デフォルトの名無しさん
21/02/27 14:31:49.87 EOMk/snY.net
>>777
は?アンチパターン知らないのなら

788:デフォルトの名無しさん
21/02/27 14:32:21.56 EOMk/snY.net
は?アンチパターンも知らないのなら引っ込んでろ底辺プログラマー。

789:デフォルトの名無しさん
21/02/27 14:41:04.16 OfxFNKjU.net
アンパンチなら知ってるけど

790:デフォルトの名無しさん
21/02/27 14:42:05.95 OfxFNKjU.net
僕はバイキンマンがおしゃれだと思うし好きですけど

791:デフォルトの名無しさん
21/02/27 14:43:15.22 OfxFNKjU.net
ドキンちゃん、メロンパンナちゃんは可愛いです

792:デフォルトの名無しさん
21/02/27 14:45:08.51 OfxFNKjU.net
天どんマンとカバオくんは渋くて好きです

793:デフォルトの名無しさん
21/02/27 14:46:27.65 OfxFNKjU.net
愛と勇気だけが友だちという歌詞も深いですよね、大人の心にも響きます

794:デフォルトの名無しさん
21/02/27 14:50:27.61 Rkj+zBYu.net
>>777
スレ主がコンテキストを理解しない底辺プログラマーだから許してあげてね

795:デフォルトの名無しさん
21/02/27 15:25:16.36 srgcqAD7.net
コンテキスト?
Device Contextとか、Android Activityとかのコンテキスト?

796:デフォルトの名無しさん
21/02/27 15:47:29.01 qhUfxMpi.net
多分コンテキストって言いたかっただけなんだろうと思う…

797:デフォルトの名無しさん
21/02/27 16:37:52.70 OfxFNKjU.net
>>786
文脈って意味ですよ

798:デフォルトの名無しさん
21/02/27 16:55:56.55 lzDnqtNz.net
俺は、あわしろ氏を信じる。
お前の言うことは信用しない。

799:デフォルトの名無しさん
21/02/28 03:55:51.43 BRDX8bQ+.net
天ぷらだとうどんと蕎麦のどっちが好き?

800:デフォルトの名無しさん
21/02/28 03:57:33.36 Gc6Q6B7T.net
カレー

801:デフォルトの名無しさん
21/02/28 03:59:46.09 BRDX8bQ+.net
>>791
天ぷら前提なんだが、レスがハエーから許す

802:デフォルトの名無しさん
21/02/28 04:04:03.84 Gc6Q6B7T.net
天ぷらカレー

803:デフォルトの名無しさん
21/02/28 04:07:35.88 BRDX8bQ+.net
>>793
うどんか蕎麦で

804:デフォルトの名無しさん
21/02/28 04:53:09.79 Gc6Q6B7T.net
カレーどんぶり

805:デフォルトの名無しさん
21/02/28 09:53:36.42 fiymphDk.net
>>792
みなさんこれがクソコードです

806:デフォルトの名無しさん
21/02/28 17:33:35.64 JGZwcedL.net
最初は有意義になるかなと思ったのにクソスレになったな

807:デフォルトの名無しさん
21/02/28 17:44:13.70 VO7rpKqD.net
>>797
そう思ってたのはスレ主だけだろw
スレタイ & 1スレでどっちみちクソスレになるのは確定してた

808:デフォルトの名無しさん
21/02/28 22:04:12.82 AdiQic6X.net
5chに有意義なことを期待する時点で

809:デフォルトの名無しさん
21/02/28 22:29:20.29 HY9f+UaN.net
Qiitaでもクソコード云々言って炎上してる記事があったな

810:デフォルトの名無しさん
21/02/28 23:14:06.43 797yScED.net
>>800
試しにクソコードでQiitaを検索してみたがポエムばっかりで面白いのなかったな
↓これが視点としては面白かったけど処理分割のアプローチ間違ってるから新たなクソコードが出来そう
URLリンク(qiita.com)

811:デフォルトの名無しさん
21/02/28 23:55:31.04 VPMHnl/e.net
>>798
いや、スレ主じゃないけどアンチパターン研究スレは厶板に必要だとは思うよ
文脈から察せない人が暴れただけで

812:デフォルトの名無しさん
21/03/01 00:40:02.48 p4pc8RdJ.net
>>802
アンチパターンを集めたかったんなら
スレタイと1スレをそうなるよう書けって話だろ
アンチパターンとクソコードは全く別物なんだよ
コンテキストを理解してないと言われてる理由と合わせて最低限パターン・ランゲージくらいは学んでこい

ちなみに「いや」から書き始めるレスはクソレス・パターンだからな

813:デフォルトの名無しさん
21/03/01 02:16:03.17 6wDZP3ri.net
>>803
君がコミュ障パターンなだけだろ

814:デフォルトの名無しさん
21/03/01 02:47:59.87 o92pxtgz.net
>>804
そうやって自分でクソスレにしてんだよな
クソスレ主あってのクソスレ(ム板拡張版w)

815:デフォルトの名無しさん
21/03/01 02:51:31.50 g6QBZhEL.net
アンチパターンを取り上げてる本でオススメある?
SQLアンチパターンを読んで得るものが多かったので

816:デフォルトの名無しさん
21/03/01 06:38:18.35 6wDZP3ri.net
>>805
ほうクソの定義とは何かね

817:デフォルトの名無しさん
21/03/01 06:39:15.47 6wDZP3ri.net
マーチン・ファウラーのりファクタリングやろな

818:デフォルトの名無しさん
21/03/01 06:52:02.27 6wDZP3ri.net
>>805
おいお前話を広げろ、今のお前は他人のヘイトやってるだけのクソ野郎だからそうじゃないところを見せろ

819:デフォルトの名無しさん
21/03/01 06:56:37.18 6wDZP3ri.net
あ、間違ってたも
>>805は僕に同意してたわけね
でも僕は敏感な人間だから僕に言われてることだと思った、だけれども紛らわしい言い方した君が悪い、僕は絶対に悪くないからこの件は以後言及することを禁止します、以上

820:デフォルトの名無しさん
21/03/01 07:06:26.34 6wDZP3ri.net
上に出てるパターン・ランゲージってアレクザンダーの都市計画理論だろ、プログラミングの本じゃない、そんなたとえ話のようなものでわかった気になるのは危ない
Twitterでも建築の本読んでオブジェクト指向がどうとか言ってる人いるけどポストモダンなソーカル野郎としか思えないんだよなあ、関係のないことを関係づけてそこに気づいた自分が賢いと思いこんでしまうクルクルパー、地頭の良い人が陥りやすい穴のように見える

821:デフォルトの名無しさん
21/03/01 08:09:59.68 Dkl+jirL.net
40年近く前の本だしFORTRAN, PL/1が題材だから今の言語に合わない箇所もあるけど名著だと思う
プログラム書法 第2版 / Brian W.カーニハン P.J.Plauger 著 木村 泉 訳 | 共立出版
URLリンク(www.kyoritsu-pub.co.jp)

822:デフォルトの名無しさん
21/03/01 08:21:42.09 VB40xofU.net
プログラミング作法の方が良いと思うよ

823:デフォルトの名無しさん
21/03/01 11:23:05.55 vk4XQtG7.net
中国行くと肛門PCR検査

824:802
21/03/01 12:23:46.76 sbiXUVTE.net
コミュ症の自覚がない>>803

825:デフォルトの名無しさん
21/03/01 17:40:20.81 scPLhEmU.net
>>803
まーた、詭弁デメテルバカが発狂してるよ
一番勉強が足りてないお前が勉強してないっていうねw
頼むから、一生ROMってろ

826:デフォルトの名無しさん
21/03/01 20:15:47.54 XEpCIBIH.net
コードとはまた違うけど
javaのインターフェースとインプリメントはクソだなと思う
無駄にファイル数増えてクソうざい

827:デフォルトの名無しさん
21/03/01 20:59:56.79 lUjHuGPy.net
interfaceがクソってw
オブジェクト指向知らないのではw

828:デフォルトの名無しさん
21/03/01 21:16:55.91 4ocrwkuw.net
これだからJava脳はw
言語周りで幼稚な愚痴垂れ流してるやつのJava率の高さったらない

829:デフォルトの名無しさん
21/03/01 22:39:30.52 o/aEg2l/.net
>>811
GoFのデザインパターンも、ファウラーのリファクタリングも、エリックエバンスのDDDもみんなパターン・ランゲージ
それぞれのパターン・ランゲージに共通する要素は何なのか?
なぜパターンがソフトウェア開発に有用なのか?
この辺を学んで出直してくるといいんじゃね

830:デフォルトの名無しさん
21/03/01 22:48:23.51 o/aEg2l/.net
クソコードと言うのは単なるBad Practiceの一種であってアンチパターンとは違うもの
アンチパターンの意味を理解せずにアンチパターンの研究とかまあ無理よね

831:デフォルトの名無しさん
21/03/01 23:16:44.33 vk4XQtG7.net
>>818
abstractだけでいいって事では?

832:デフォルトの名無しさん
21/03/01 23:43:38.69 f1Pg/hcl.net
C#やるとJavaのいろいろ足りてない部分はめちゃくちゃ実感する

833:デフォルトの名無しさん
21/03/02 00:47:10.90 k1c4vJst.net
>>820
君が何を学んだかを教えてよ

834:デフォルトの名無しさん
21/03/02 03:20:46.99 9w2EW+ai.net
いちいち2chで教えなくていいから

835:デフォルトの名無しさん
21/03/02 10:54:48.23 MXVQCo9F.net
Anti-pattern
URLリンク(en.wikipedia.org)

836:デフォルトの名無しさん
21/03/02 11:43:32.18 sTNRmcJa.net
>>818
そのインターフェース本当に必要?ってのが大半
他クラスとは何も関係無い孤立したクラスなのにインターフェース実装されてるの見たことある?
javaやってる感出すためだけにファイル数が2倍になるゴミ

837:デフォルトの名無しさん
21/03/02 12:24:38.24 08kau52M.net
肛門コード

838:デフォルトの名無しさん
21/03/02 12:31:08.45 MXVQCo9F.net
>>827
ポリモーフィズム
Storage storage
storage = new USBMemory()
or
storage = new SDCard()
以下、storageを使って読み出し
storage.read()
これができなくなるとか論外

839:デフォルトの名無しさん
21/03/02 15:55:12.73 HE4Aq4BV.net
1メソッド1インタフェイスのペアで作れば解決するじゃないか!

interface Writer{
void write(Data data);
}
interface Reader{
Data read();
}
interface Eraser{
void erase();
}
abstract class Storage implements Writer, Reader, Eraser{
abstract void write(Data data);
abstract Data read();
abstract void erase();
}

840:デフォルトの名無しさん
21/03/02 16:18:47.07 sTNRmcJa.net
>>829
そうやって複数クラスで使う前提じゃなくて
自身にしか提供しないくせにインターフェースにするクソコード見ても同じこと言えんの?
その例で言うと
Interface USBMemoryと
Implements USBMemoryImplementsと
Interface SDCardと
Implements SDCardImplementsの4つファイルが作られるんだよ
もちろんStorageクラスなんて作られないからな、覚悟しとけ?

841:デフォルトの名無しさん
21/03/02 17:22:18.70 MXVQCo9F.net
>>831
それはどうかと思うけど、それを根拠に>>817みたいな言語機能を批判しちゃだめだろって話
Java脳とか言い出す人が湧いてるし
まぁ、そのコードは確かに問題だな

842:デフォルトの名無しさん
21/03/02 17:45:25.68 MXVQCo9F.net
脱線したが、無意味にインタフェースと実装部を分けるクソコードは俺も見たことがある
俺も初心者時代はやらかした事はあったな
無駄にコードが増えるだけでメリットが無いというね
初心者時代は、>>831のコードを書けば
class XXXImplement
から
class XXXImplement2
に乗り換える時が楽だなんて思ってたけど、実際はXXXImplement2なんて作らずにXXXImplementを直接編集してた
変な突っ掛かり方をして悪かったな

843:デフォルトの名無しさん
21/03/02 17:49:55.29 1QjqZlxS.net
仕様と実装をどこで切り離しておくかという設計選択の話なのでコードだけでは判断できない
>>831のようにインターフェースに対して実装が1種類しかなくてもそれが望ましい状況もあれば望ましくない状況もある

844:デフォルトの名無しさん
21/03/02 17:59:46.35 QgVhfuvD.net
>>834
望ましい状況って例えば何なんw
教えてプロjavaプログラマーさん

845:デフォルトの名無しさん
21/03/02 18:06:26.23 RCz98UPT.net
インターフェース作ってもいいけど同じファイルに押し込んで欲しい
こんなくだらない内容でファイル数が倍は勘弁してほしい

846:デフォルトの名無しさん
21/03/02 18:27:01.85 1QjqZlxS.net
>>835
Storageの例と一緒だよ
共通した仕様を使いたいレイヤーと複数の実装を使いわけたいレイヤーがあって
それを分離することで結合度を下げときたい場合の選択肢の一つ
USBの例で言えばSDカードや他のストレージとは異なるUSB特有の仕様に依存したコードを書く必要がある場合に
実装が変更されても利用者側のプログラムを変更しなくてもいいようにしたかったり
複数の実装を実行時に切り替えて使えるようにしておきたい場合
面倒臭さと将来の柔軟性とのトレードオフ
切る場所が適切かどうかは要件次第なのでコードからは判断できない

847:デフォルトの名無しさん
21/03/02 18:28:28.29 k1c4vJst.net
>>835
実装を変えられるってことさ
オープンクローズプリンシパルを守ろうとしたらインタフェイス切るしかない

848:デフォルトの名無しさん
21/03/02 18:29:36.21 k1c4vJst.net
クラスは分けてなんぼ、理想を言えばメソッドごとにクラスを分けるべき

849:デフォルトの名無しさん
21/03/02 18:36:50.14 Ut+tyB9O.net
メソッドごとにクラスを分ける理由は?

850:デフォルトの名無しさん
21/03/02 18:47:13.75 cXyQmkET.net
同じ階層のものがたくさんあると
全体を把握しにくくなるんじゃないかなあ

851:デフォルトの名無しさん
21/03/02 18:48:50.43 2RCjcGnL.net
クラス毎にファイルを分ける理由は?

852:デフォルトの名無しさん
21/03/02 18:48:57.53 qGFbOGXJ.net
Java脳のレスはインターフェースなくてもオブジェクト指向できるっつう話でしょ
引数に関数をとることでインターフェースの代替にできる時もあるしね

853:デフォルトの名無しさん
21/03/02 18:59:10.26 Ut+tyB9O.net
>>842
関連するものの単位が同じだからでは?

854:デフォルトの名無しさん
21/03/02 19:35:50.44 stemNYci.net
>>831
あの例だと
interface IStorageにread()などの必須メソッドを追加
class USBMemory implements IStorage
class SDCard implements IStorage
やろw
Storage抽象クラス又は親クラスで定義してoverrideでもいいけど
設計次第やな

855:デフォルトの名無しさん
21/03/02 19:55:38.87 sTNRmcJa.net
>>845
違うんだよなぁw
Interface USBMemory
class USBMemoryImplements implements USBMemory
Interface SDCard
class SDCardImplements implements SDCard
こんなのが爆誕してるというかほぼ全クラスこんなので統一されてる絶望感分かる?

856:デフォルトの名無しさん
21/03/02 20:12:52.16 sTNRmcJa.net
>>833
まあ仕様が悪いというより簡単に悪用される実態が問題なんだよね
そのパターンもあるあるやと思ってる
だけどもし仮に2に乗り換えたところで、何かあった時に戻れるようにって無印が残されて結局ファイル数は増える地獄なんだなぁw

857:デフォルトの名無しさん
21/03/03 07:45:39.12 jQr6IfK5.net
>>846
テストしやすくて最高じゃないですか

858:デフォルトの名無しさん
21/03/03 10:51:02.42 xzgw1tFV.net
ワクチン効かなくて人類オワタ

859:デフォルトの名無しさん
21/03/04 00:08:07.08 FIbtDWBm.net
親クラスが子クラスに依存する処理を持つコード例
URLリンク(stackoverflow.com)
Eric Lippertの書いてるコードがクソなのか?
それともその認識がクソなのか?

860:デフォルトの名無しさん
21/03/04 09:40:02.79 s3zRsfeD.net
ケース・バイ・ケース

861:デフォルトの名無しさん
21/03/04 09:49:55.40 OjWW0m8I.net
普通にクソってことでいいんじゃね?
クソだけど処理が小さく、まともにするには
過剰気味な設計が必要になるならそのままにするけど
良いとは思わないけど必要十分

862:デフォルトの名無しさん
21/03/05 11:07:38.15 zIBx0bjD.net
短絡的にクソコード認定したがるやつの脳みそがクソってことだよ
>>1のようなプログラマーは自分の見方がクソなのかもしれないと考えられるようにならない限り いつまでたってもクソプログラマーのまま



864:デフォルトの名無しさん
21/03/05 16:16:51.44 rOFa7Oz2.net
短絡的にクソプログラマー認定したがるやつの脳みそがクソってことだよ
>>853のようなプログラマーは自分の見方がクソなのかもしれないと考えられるようにならない限り
いつまでたってもクソコードのまま

865:デフォルトの名無しさん
21/03/05 17:34:44.54 5bhxQzE4.net
>>854
クソプログラマー認定も含めて自分の見方がクソかもしれないと考えてないようなら
そいつ自身がクソプログラマーの可能性はそれなりに高いだろうね
ただコードとプログラマーにはクソかどうか判断する基準に決定的違いがある
その決定的違いが分かってないから君はクソプログラマーなんだよ

866:デフォルトの名無しさん
21/03/05 18:45:25.18 Gcj+sygJ.net
> クソコードを見た時に「あっ、これクソコードだ」って認識する根拠を挙げていきましょう。
スレ主は短絡的にクソコード認定をしていないと思うけど
むしろ、なぜクソコードを見てクソコードだと感じたのか哲学するスレだろ
クソプログラマーの定義とかスレ違いだし、どうでもいいわ

867:デフォルトの名無しさん
21/03/05 20:45:43.09 72RBlbeS.net
>>856
スレ主さんwちーすっ

868:デフォルトの名無しさん
21/03/05 23:14:44.63 6LAcg/yu.net
>>855
底辺に何言っても無駄
他人からは学べないから

869:デフォルトの名無しさん
21/03/06 09:14:58.43 6IalgJ8T.net
根本的な原理が分かってない人が意外なぐらい多い
情報の多重化、DRY原則からの逸脱を誘発するものがとにかく駄目
突き詰めればダメなものは間接的でもそこにつながっているから被害を受けるのだと分かる
いろんなデザインパターンなんて結局は
いろんな状況でDRYを遵守する手練手管が99%だろう
重複実装も必要な時があるが
どんなものをどんな風に重複させるかで
状況はかなり異なるので短絡的な判断は禁物
1が言ってる一つ目の例は
もっと文脈をはっきりさせないと
何がクソなのか断定出来ないし
これで伝わると思ってるなら難アリ

870:デフォルトの名無しさん
21/03/06 11:40:20.85 3bUl0e7x.net
そもそもデザインパターンみたいなのは、こうすれば良いのでは?みたいな物だし
正直そういう所から入った層よりは、ある程度組めるようになってから見て納得出来た方が良いかと
つまりは最初に読むものでは無いと

871:デフォルトの名無しさん
21/03/06 12:21:11.27 x8WQCH58.net
バックグラウンドとデザパタへの反応
複雑でも無く大きくも無いプログラムで遊んでた人
→自分のコードに対してデザパタの概念が大きい
→無意味にデザパタ導入してコード無意味に膨らます
→あるいはデザパタは無価値だと騒ぎ出す
ある程度複雑で大きいものを作ろうとして糞の山量産した人
→自分のコードに対してデザパタの概念が小さい
→デザパタ導入して部分的に見通し良く場面が見える
→必要に応じてデザパタを無言で使用

872:デフォルトの名無しさん
21/03/06 12:47:09.63 2s/lB21T.net
オブジェクト指向を理解するにはデザインパターンを理解するのが近道
言語の基本文法を学んだ後すぐデザインパターンを学ぶと上達がはやい
パターン熱にかかるのも早い方がいい

873:デフォルトの名無しさん
21/03/06 14:22:35.38 pd/Aiz5V.net
デザインパターンとオブジェクト指向は全く別。

874:デフォルトの名無しさん
21/03/06 14:29:20.30 9ME8iPe/.net
>>863
GoFのデザインパターンのことだぞ

875:デフォルトの名無しさん
21/03/06 19:16:45.22 TUaJ1ME0.net
このスレすげえ面白えな
>>11からの流れは思わず引き込まれてしまった
下手なラノベよりよっぽど読めるわ

876:デフォルトの名無しさん
21/03/06 20:23:40.52 MNqEIsM4.net
そう言えば「名前がクソ」というクソパターンは
DRYとあまり関係ないな
あまりに基本過ぎて盲点だった
使ってる言葉や概念がそもそもおかしいのは
あまりに基本的な問題だが一番有りがちかもしれない
特に日本では戯言過ぎて英訳なんか不可能なぐらいの
曖昧模糊とした言葉を話す人が多いので…
コードを書くずっと前から間違ってることが多い

877:デフォルトの名無しさん
21/03/06 20:54:37.19 /fxEYj1Q.net
コードがクソかどうかはコードを見ただけでは判断できない
一見名前がクソっぽくても本当にクソなのかどうかは分からない

878:デフォルトの名無しさん
21/03/06 20:58:25.37 Q5bee5g2.net
コードを見る以外の何をやって判断するんだ?
煮るのか焼くのか食べるのか?

879:デフォルトの名無しさん
21/03/06 21:00:04.77 pd/Aiz5V.net
マウントスレ

880:デフォルトの名無しさん
21/03/06 21:08:34.97 BLtO+LoM.net
重複には悪性のものとそうでないものがある
明らかに悪性なものの見極めは簡単だかそうでないものは重複を除去すべきかどうかそう簡単には見極められない
accidental duplicationなのかactual duplicationか
重複を除去して抽象化することが望ましい状況なのかどうか
最低でもこの2点の判断が必要

881:デフォルトの名無しさん
21/03/07 00:51:19.68 1+EXA2lk.net
片方だけの変更が妥当なら良性、両方に変更を入れないとダメなら悪性、ぐらいでだいたい見分けられるんじゃね?

882:デフォルトの名無しさん
21/03/07 01:45:46.06 TO18Vm5t.net
例えばこれ
スレリンク(tech板:570番)
似たようなこと3回繰り返してるけど重複を除去すべきかどうか?
除去すべきならどうリファクタリングするか?

883:デフォルトの名無しさん
21/03/07 18:09:07.95 6RHLTJ16.net
具体的なコードが出てくると途端にヒヨるマウントスレ民

884:デフォルトの名無しさん
21/03/07 19:18:29.31 HPgG7LJK.net
ゴミみたいに細かい問題
知るかボケ

885:デフォルトの名無しさん
21/03/07 20:58:32.09 FZPehcc/.net
>>872
3行3回程度ならそのままにするかな
breakしないとダメなので関数化しても条件判断が要るし
行数が増えるなら関数化する
回数が増えるなら関数をテーブルにしてforで回すかな

886:デフォルトの名無しさん
21/03/08 08:06:44.01 Q93ekmxF.net
それは要件次第って言えてしまうからなあ
関数作れない時もあるし、仮に1回でも要件で拡張の余地をとか言われたら関数にしなきゃだし
クソコードって分かってもそうしなきゃいけないときもある

887:デフォルトの名無しさん
21/03/08 09:04:47.24 ca4xsibi.net
関数化すらしないやつがいるのはちょっと驚き
このケースで関数化する動機は繰り返し同じことをしてるからというより意図を明確にするため
行数やbreakの有無みたいな表面的な形よりも意味が重要なので
この書き方が組織内で標準化されてる等の特殊な理由がない限り関数化する
ループにするかどうかは処理順序やcssをコードに固定化すべき状況なのかどうかによる
これも形じゃなく意味
使い捨てじゃなく長期的にメンテするコードで
hrml要素の検索順や検索条件をコードに固定化したほうが望ましい状況は少ない

888:デフォルトの名無しさん
21/03/08 09:23:46.71 zo5oau9O.net
でも関数って勝手に作ったらまずい現場もあるよね

889:デフォルトの名無しさん
21/03/08 10:14:50.71 1B2qwCXx.net
>>878
そういうのが特殊な理由
Pythonのような高レベル言語使ってるのに
ヘルパー関数を自由に作らせないのは控えめ言って異常だけどな

890:デフォルトの名無しさん
21/03/08 11:50:19.86 u4CRr3CF.net
全然控えめに言ってない件

891:デフォルトの名無しさん
21/03/08 13:51:58.27 pnlhyJpZ.net
作らせないってのもあると思うな
MSDNはドキュメントあるけど
派遣社員ってドキュメント書かないじゃん
ドキュメントないメソッドなら作らんほうがマシになるときもある

892:デフォルトの名無しさん
21/03/08 14:37:36.32 Amm+J3oO.net
>>881
ドキュメントが必要だと思うなら書いてもらえばいいだけでは?
必要なドキュメントをきちんと書かせないのは依頼主の責任

893:デフォルトの名無しさん
21/03/08 14:40:37.46 Amm+J3oO.net
ドキュメント必須のレイヤーとドキュメントは任意で十分なレイヤーがあるから
全部同じ扱いをするのは非効率
コーディング規約と同様に指針を決めておくのが普通

894:デフォルトの名無しさん
21/03/08 20:18:45.16 pnlhyJpZ.net
>>882
( ゚д゚)あ、お金ないんでいいです

895:デフォルトの名無しさん
21/03/08 20:20:53.39 C8XgJIOz.net
ドキュメント間違えるし、イラネ

896:デフォルトの名無しさん
21/03/08 21:04:02.65 iO7qg9sm.net
>>884
金の使い方間違ってるw

897:デフォルトの名無しさん
21/03/09 08:13:13.98 DXzi7WCn.net
ドキュメントはちゃんとメンテしないとむしろ害を及ぼすよ

898:デフォルトの名無しさん
21/03/09 09:22:23.90 1va3W7Si.net
メンテと言ってる時点でおかしいんだよね
本来はドキュメント変更してからコード直すべき
まあ不具合対策とかでいちいちドキュメントまで直してられっかって言うのはよくあるけど…

899:デフォルトの名無しさん
21/03/09 09:35:33.69 p4cuNQqC.net
ドキュメントを修正するのは不可能
すでにそれでOKがでてるんだから

900:デフォルトの名無しさん
21/03/09 10:35:41.16 B9Z9HiJ8.net
関数化すべき
→勝手に関数作れないもん
→関数作ったらドキュメントが必要になるもん
→作ったドキュメント維持できないもん

コードを評価する方法よりも職場やプログラマーを評価する方法を身につけた方が
圧倒的に効率よくクソを避けられるといういい見本だな

901:デフォルトの名無しさん
21/03/09 11:18:33.87 R+x4GEwc.net
このスレで得られた教訓
クソプログラマーが「こういうコードはクソ」と言った場合、十中八九その認識のほうがクソ

902:デフォルトの名無しさん
21/03/09 11:48:27.03 2IS/A2ze.net
>>891
>>1を見ただけで得られる教訓じゃん

903:デフォルトの名無しさん
21/03/09 13:02:45.11 DvrveGIe.net
>>889
その理論でいくとコード修正するのも不可能では?

904:デフォルトの名無しさん
21/03/09 15:30:47.03 MbPysK70.net
>>891
それはわかる

905:デフォルトの名無しさん
21/03/09 17:44:05.23 sQfPg4KP.net
引き継ぎしてドキュメントを読む。
ソースをあまり読まずに修正する。
ドキュメントを直す。
システムが死ぬ。

906:デフォルトの名無しさん
21/03/09 17:51:26.17 JYZP+6rB.net
>>893
コードは最終工程なので動かなければバグとして修正される
ドキュメントは動かなくても、コードを直せば動くので
ドキュメントの修正をする必要はない

907:デフォルトの名無しさん
21/03/09 18:19:39.56 tZmYicyt.net
>>888
コードがテストされるまで設計フェーズは終わらないので
その後のフィードバックで設計書の修正は当然
他のエンジニアリング分野で言う「製造」は
コンパイラとリンカーがやってしまうのであり
実装という実験によって設計の妥当性が証明されるまで
設計は終わらない

908:デフォルトの名無しさん
21/03/09 20:20:33.28 sQfPg4KP.net
ロジックをドキュメント化するのは無駄。
コード読んで分からないものに手を入れてはいけない。

909:デフォルトの名無しさん
21/03/09 21:37:12.31 J60abFGc.net
>>891
このスレを見返してみると「こういうコードはクソ」というレスが15~16あった
その中で「確かにそれはクソだな」と思ったのは1つだけ
それ以外は・・・

910:デフォルトの名無しさん
21/03/09 22:03:20.61 qz7mFwyh.net
竹内関数は糞か否か。

911:デフォルトの名無しさん
21/03/10 02:31:32.15 hjUELKdd.net
どういう人が書いたのがわからんのが問題だと思う
バカが書いたとか間違ってるのが断定できればなんとかできるもん

912:デフォルトの名無しさん
21/03/10 13:29:27.14 hr2yGgcj.net
竹内関数は、WEB+DB vol.121 のRuby 3 特集で、
平行・並列処理、Ractor のベンチマークで使っている
マルチコア用の並列処理は、まだ数年は掛かりそう

913:デフォルトの名無しさん
21/03/10 15:29:31.30 eQWG2ihY.net
>>900
竹内関数は関数の仕様を定義したものなので
コードではなく仕様がクソかどうかという話になる
それはクソコードかどうかという話とは少し種類が違う

914:デフォルトの名無しさん
21/03/11 15:58:20.83 2k6w0W90.net
まずは、使われない無駄なコードを減らして欲しい!
「無駄だらけのプログラムを効率化して、1万行→500行に。それを見た上司が激怒して『あいつは三流』と言いふらし始めました」(エンジニア・50代男性)
2021年1月26日 06:00
URLリンク(j-town.net)

915:デフォルトの名無しさん
21/03/11 16:00:27.63 2k6w0W90.net
とくぎ「パニパニハニー」を完全抹消コメント 1件
アイミョン
[KS108-054]
テーマ:キャラクター育成・強化2020/06/14 06:15
宝珠「パニパニハニーの技巧」とか、不要なオブジェクトは煩わしく誤動作の原因にもなります。
こうした旧バージョンのゴミは片づけて整理して、コマンド表示をわかりやすくしてほしいです。
URLリンク(i.imgur.com)

916:デフォルトの名無しさん
21/03/11 16:31:29.74 4TSgT5Rn.net
>>904
50代にもなってこんな所でしょうもない憂さ晴らししてるほうもたいがいやな

917:デフォルトの名無しさん
21/03/11 16:59:27.28 UhH3pQhX.net
>>904
条件分岐するたびに重複コードを書く初心者は必ずいる。サブルーチンの概念がないというよりは、変数の使い方がおかしいのが最大の理由だと思う。

918:デフォルトの名無しさん
21/03/11 17:02:40.39 UhH3pQhX.net
プログラムもドキュメントも常に作りかけかと思う物を作る50代を知っている。

919:デフォルトの名無しさん
21/03/11 17:52:20.82 gBp5uuCV.net
ひな形とかサブルーチンって言葉が古めかしいよな

920:デフォルトの名無しさん
21/03/11 19:01:33.97 8a+EQRp9.net
サブルーチン=クソコードだよ
関数は原則として引数から戻り値を求めるものでテストが容易
もちろん副作用をもった関数もあるけど、わざわざ副作用と言ってるように
副作用は避けるべきものとして考えられてる
サブルーチンは戻り値がなく副作用がメイン
コードの責務とか考えなしに、似たようなコードがあったら
とりあえずサブルーチンにまとめちゃえってなる
その結果テストが容易ではなくなる

921:デフォルトの名無しさん
21/03/11 19:19:47.26 ifNxw6Pa.net
サブルーチンと関数を別キーワードで定義&コールするFortran流もありだと思うけどなあ

922:デフォルトの名無しさん
21/03/11 20:17:42.11 eJfNLsOm.net
>>910
クソプログラマーが「こういうコードはクソ」と言った場合、十中八九その認識のほうがクソ
サンプルが追加されたな

923:デフォルトの名無しさん
21/03/11 20:20:56.37 8a+EQRp9.net
クソプログラマーではないのでそれは当てはまらない

924:デフォルトの名無しさん
21/03/11 20:37:19.04 dIdzHpoo.net
クソプログラマーは自分がクソだという自覚ができない
自覚ができないからこそクソプログラマーとして生き続ける

925:デフォルトの名無しさん
21/03/11 21:26:53.63 sZRHwddG.net
>>910
サブルーチンに戻り値はないというのは勝手な思い込み
プログラミングにおける副作用という言葉は薬の副作用や副反応と違って一般的に望ましくないものという意味は全く無い
主張の中心となる用語をよく理解せず勝手な思い込みでオレオレ理論をふりかざすやつがクソプログラマーでなくなんなのだろうか?
自分の認識が間違ってるかもしれないとは考えないクソプログラマーの特徴がよく表れている

926:デフォルトの名無しさん
21/03/11 23:23:42.46 wuP7cLri.net
関数呼び出しは遅いから関数しか無いCは使えないという恐ろしいFortran使いが結構たりするけどな…

927:デフォルトの名無しさん
21/03/11 23:38:43.29 wuP7cLri.net
まあインライン化やマクロ駆使してオーバーヘッド削ったCよりは絶対読みやすいので、一理ないこともない

928:デフォルトの名無しさん
21/03/12 00:52:41.16 IfpuCZI8.net
今時FORTRAN使いとかいるのか・・・
どこで使っているんだ?w

929:デフォルトの名無しさん
21/03/12 03:40:10.66 pvW782MA.net
理学系とか今でもFORTRANらしい

930:デフォルトの名無しさん
21/03/12 03:51:45.30 iCE7eqEI.net
たぶんおじさんの想像するFORTRANとは随分違う言語だぞ

931:デフォルトの名無しさん
21/03/12 08:06:40.57 6WY1VkSt.net
>>918
母数がわからんけど、HPC分野だとまだまだFORTRAN優位
次世代スパコン「富岳」の重点課題で開発するアプリのうち,Fortranでないのは一つだけ.
URLリンク(qiita.com)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch