皆さんコード組む時って
1 :仕様書無しさん :2022/09/06(火) 22:59:30.51 .net 細々した部分から作っていき、段々全体を整えていきますか? それとも初めに大枠の見通しを付けて、段々細部に掘り下げていきますか?
2 :仕様書無しさん :2022/09/06(火) 23:15:28.72 .net ほそぼそした部分とは? 大枠とは? しっかり設計してから作れ 適当に作るな
3 :仕様書無しさん :2022/09/07(水) 00:22:26.11 .net >>2 こまごまと読むんだぞ池沼
4 :仕様書無しさん :2022/09/07(水) 00:24:42.29 .net 大枠をつかんで部品にバラしてそれぞれの部品をテストして組み上げる感じだな
5 :仕様書無しさん :2022/09/07(水) 00:25:55.22 .net ひとりでボソボソと作るんやで
6 :仕様書無しさん :2022/09/07(水) 03:32:55.71 .net そんな枝葉の内容は気にしてない 重要なことは全裸で組んでないコードは全部ゴミだということ
7 :仕様書無しさん :2022/09/07(水) 04:25:06.12 .net ゴミスレ建てんな ボトムアップ開発 トップダウン開発 作るものによって変わるだけの話
8 :仕様書無しさん :2022/09/07(水) 05:36:03.03 .net MVVMで設計してる
9 :仕様書無しさん :2022/09/07(水) 08:24:06.55 .net 既存の横転とか最初から具体的なものもあるけど、ほとんどの場合は抽象から具体に落とし込んで行く。最初からいいモデルができるかというと難しいので汎化(抽象化)と特化(具体化)を繰り返し反復する事で洗練させていく 木を見て森を見る 森を見て木を見る その繰り返し
10 :仕様書無しさん :2022/09/07(水) 09:27:14.25 .net マゼンダの画面を見て森を見ると超緑になるぞ
11 :仕様書無しさん :2022/09/07(水) 11:49:51.74 .net 関数を並べていって、 それぞれをつなげる 当たり前では?
12 :仕様書無しさん :2022/09/07(水) 12:12:25.15 .net helloworldに追加して言さいく感じ
13 :仕様書無しさん :2022/09/07(水) 12:22:07.16 .net 動くもの作ってから 構成を考えて 全体を一気に作る
14 :仕様書無しさん :2022/09/07(水) 14:19:56.67 .net >>3 「こまごま」でも「ほそぼそ」でもなんでもええわっ!って作るのがアジャイルな 「細々」は「ほそぼそ」と読むと思いますがいいですか?って設計書のレビューするのがウォーターフォールや
15 :仕様書無しさん :2022/09/07(水) 15:02:16.43 .net >>14 こまごまと読むんだぞ池沼
16 :仕様書無しさん :2022/09/07(水) 15:11:16.33 .net >>11 アホの作り方だな まともな作り方は1つの関数に全部の処理を入れる 必要なときにのみ関数を分割する
17 :仕様書無しさん :[ここ壊れてます] .net 細々したところから作る人がいるなら作業動画を見てみたい どんな思考回路で完成に持っていくのか想像つかないわ
18 :仕様書無しさん :2022/09/07(水) 22:45:56.87 .net だから、オマエラのいう細々はボトムアップ開発といってだな名前ついてるから
19 :仕様書無しさん :2022/09/07(水) 22:50:50.70 .net 大体全体のパーツがどうやって絡み合ってどうやって動くというのは頭の中なり図なりで考えておいてパーツを端から書いてく
20 :仕様書無しさん :2022/09/07(水) 23:33:09.16 .net ほそぼそ
21 :仕様書無しさん :2022/09/07(水) 23:42:30.20 .net 何でも作れるでぇー!って状態からなら設計が先にくる これいけるのか…?みたいな状態からなら動く試作品を先に作る
22 :仕様書無しさん :2022/09/07(水) 23:51:29.57 .net よくわからん感情表現すんなよ
23 :仕様書無しさん :2022/09/19(月) 13:21:43.29 .net ほそぼそしたところからつくります
24 :1 :2022/09/19(月) 14:40:20.87 .net 数日前にトランプのブラックジャックを作ってみたんですけど、 俺の場合完全にボトムアップでしたね カードクラスを定義して、プレーヤークラス、コンピュータクラス、メインの処理と、 ルールや手順を思い出しながら処理を順々に仕上げては部分部分でテストし、 最終的に一つのプログラムが出来上がる、という感じでした
25 :仕様書無しさん :2022/09/19(月) 15:10:42.03 .net カードクラスとか作るんかいなw トランプなんて1~52でいいやんw
26 :1 :2022/09/19(月) 15:59:37.21 .net クラスにしたのは、各カードがスートを4種類持ってるというのと、 スコア計算時にJ・Q・Kが10になり、Aも11になることがあるという事情からなんですよ 属性としてsuit、number、valueを持つようにしました
27 :仕様書無しさん :2022/09/23(金) 22:14:50.26 .net 適量のアルコールでも脳には悪影響が 海馬の萎縮リスクが3倍以上に | ニュース | 保健指導リソースガイド https://tokuteikenshin-hokensidou.jp/news/2017/006667.php
28 :仕様書無しさん :2022/10/01(土) 22:58:32.07 .net ガンダムと一緒で最初にどんなモビルスーツを作るかを考えないで 足から組んでくとピグザムみたいのが出来る
29 :仕様書無しさん :2022/10/13(木) 14:31:14.26 .net >>26 ソースアップしてみ? 添削してもらったほうが良いと思う
30 :26 :2022/10/13(木) 23:17:30.68 .net >>29 ありがたいです 以下のページのblackjack_2.pyがそれです https://github.com/masa-gh/practice 文法の勉強が途中の状態で作り始めたので、継承や例外処理といった基本事項を 使ってはいませんが…
31 :仕様書無しさん :2022/10/14(金) 09:24:46.26 .net とりあえずここか、例えばJ~Kまでを10点とするコードはmin使ったほうが良い n = 13 print(min(10 , n)) あとスコアの計算が decide_Avalue_1~4 この辺何やってるかわからんけど 手持ちのカードリストを入れたcardlistがあるなら calc_score関数はそもそもこんなに冗長しないはず こういう計算をしやすくする為に最初の numbers: tuple[str, ...] = ('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K') この辺で、文字データしか保有していないのが問題で 内部的に1~13の数値データを持つオブジェクトを作っていればnumber == 'J' みたいなコードは消える 'J'ってのはもしGUIゲームであれば'J'の部分には画像が入るわけだから プログラム内部的な識別に使う1~13の数値データと、UI表示で使うAやJQKってものは分離しないといけない
32 :仕様書無しさん :[ここ壊れてます] .net あとclass Playerとclass Cpuってのが完全に冗長してるだろ? この場合の解決策は、継承・mix-in・動的に関数入れ替え どれでも良いんだが、 俺は動的にやる事多いから宣言はこうなる human class_new('HUMAN',human用関数) cpu = class_new('CPU',cpu用関数)
33 :仕様書無しさん :2022/10/14(金) 18:41:55.64 .net Python良く知らんからRubyで書いてしまったが配列の中身を数値型だけにしておけば minとsumはブラックジャックなら有効活用できるな def min(a,b) = a < b ? a : b cardlist = [2, 5, 13] p cardlist.sum # 13 => K を普通に足し算すると 20 p cardlist.map{|n|min(10,n)}.sum # min関数で13 => K を10として認識すると17
34 :30 :2022/10/14(金) 23:19:58.98 .net >>31-33 ありがとうございます 参考になります PlayerとCpuにおけるコードの重複に関しては、継承を使うことで解消したいと思います decide_Avalue_1〜4では、Aの値が状況によって変わるので、 他のカードの合計値を引数にとって、Aのカード全体の値を返す仕様にしました あと>>31 で言及されている、数値データのオブジェクト化というのは どんな感じにすればいいかなかなか検討が付きませんでした よろしければヒントなどを頂けるとありがたいです
35 :仕様書無しさん :2022/10/15(土) 08:04:26.92 .net >>34 すまんよくみたら.valueで内部的に数値は持ってたからCardクラス設計は今のまま平気だった あー、decide_Avalue_1はそういう処理か calc_scoreとdecide_Avalue_1~4はなんとかしないといかんね 他の部分は継承さえすれば全体処理の見通しをよくしているという評価も出来るけど この箇所だけは、いわゆるマジックナンバーが出現してるからまずい
36 :仕様書無しさん :[ここ壊れてます] .net あくまで参考にって感じだけど、decide_Avalueとcalc_scoreは俺が書くとこうなる 保有してるカードの中でAの枚数と、A以外の合計値を関数fに渡す で、repeated_combinationで、 1 or 11 の選択を総当たりで出力、そこにscoreを足す(ここで21を超えるデータも出来る) 次にdelete_ifで21以上のデータを消して 残りからmaxで最大値を得る 戻り値が数値以外なら(rubyだとnil)、21オーバーした判定 Pythonでもrubyと似たような関数あるはずだから書けると思う https://ideone.com/IryebL def f a , score [1,11].repeated_combination(a).map do |m| m.sum + score end.delete_if do|m| m > 21 end.max end list = ['A','A',9] # 21 p f(list.count('A'),list.map{|m|m=='A'?0:m}.sum) list = ['A','A',10] # 12 p f(list.count('A'),list.map{|m|m=='A'?0:m}.sum) オマケでテストコード https://ideone.com/ppPjbB
37 :30 :2022/10/15(土) 17:11:33.80 .net >>35-36 レスありがとうございます すいません、俺の知識では実装出来ませんでした… 一応>>30 にあるリンクにblackjack_3.pyをアップしたのでよろしければご覧下さい 継承でHumanクラスとComputerクラスのダブりを解消したのと、 Aの値を決めるメソッドをdecide_Avalueに一本化しました ただ10や11といったマジックナンバーは残ってしまいましたが
38 :仕様書無しさん :2022/10/15(土) 18:58:04.44 .net >>37 マシになったじゃん このくらいならとりあえずは書けてる 多分プログラム初めて間もないと思うから全方向に知識伸ばすしかねーわな
39 :仕様書無しさん :2022/10/15(土) 22:44:02.25 .net うん、中高生くらいならこのくらいかければ十分だと思う。 無理にググったよくわからない簡略化した実装をコピーしてくるのではなく、 稚拙ながらちゃんと自分で考えて作ってるっぽいところがいいね。 がんばってね。
40 :37 :2022/10/15(土) 22:47:21.73 .net >>38 ありがとうございます そうですよね でもがっかりさせて申し訳ないんですが、PCでプログラミングするようになって もう5年くらい経つんですよ…独学ではありますが じゃんけんとか簡易なコードばかり書いている内に歳だけ取ってしまった感じです まあそれはそれとして、GitHubに時々新しく書いたコードをアップするかも しれないので、もし時間があるようでしたらたまにチェックして貰えると幸いです
41 :37 :2022/10/15(土) 22:53:19.55 .net >>39 すいません、中高生ではなく中高年です… それでも一応頑張るようにします レスありがとうございます
42 :仕様書無しさん :2022/10/16(日) 08:28:00.31 .net >>40 なるほどね、 じゃあこういう種類のゲームを作るほうのスキルを上げたいってことでいいのかな この手のものはクラスをきっちり書く人もいるんだけど、 もう少し先入観を破壊するように短いコードを探していくと良いと思うよ そうしないとトランプとかボードゲーム系は短く書ける人なら非常に短く実装するのに、それを何百行で実装するっていうの続けてたら差が埋まらない https://i.imgur.com/Z0GoQpQ.jpg この本がオススメ(amazonリンク張れないから画像でw) あと読まなくても良いが歴史的なLisp読み物 http://www.asahi-net.or.jp/~kc7k-nd/onlispjhtml/ これはLispを使えっていうのんじゃなくメタプログラミングを覚えろってことだ アップしたソースコードの中に全く見られないのが言語内言語(DSL)っていう考え方 この種類のプログラムはメタプログラミングの考え方やアイデアがあったほうが簡潔になる githubは暇があったら見るよ
43 :仕様書無しさん :2022/10/16(日) 10:35:33.40 .net >>41 それは大変失礼。 画像生成AIブームに乗って最近pythonに興味を持った感じかな。 C系か古いJava系臭がするので、もっとpythonを使っている 意味のあるコーディングをするといいよ。
44 :1 :2022/10/16(日) 15:14:35.40 .net >>42 リンクやアドバイスありがとうございます 元々はコードが書ける仕事ならどの分野でもいいかなと思ってたんですが、 ちょっとしたゲームを練習で書いてる内に、ゲーム制作も楽しいんじゃないかと 思い始めました メタプログラミング難しそうですね
45 :1 :2022/10/16(日) 15:18:58.87 .net >>43 いえいえ アドバイスありがとうございます うーんまあPythonが一番流行りかなと思って始めました 大学の時に授業でCをやって、5年前くらいから最近までJavaをやってましたので その影響かと思います
46 :仕様書無しさん :2022/10/16(日) 18:45:14.09 .net 5年Javaやっててこれか。 M銀行案件でJavaといいつつノンプロ単純作業労働者してた?
47 :仕様書無しさん :2022/10/16(日) 19:22:31.12 .net 匿名をいいことにそうやって馬鹿にするのやめなよ
48 :仕様書無しさん :2022/10/16(日) 21:51:51.66 .net 馬鹿にしていると思うのは、お前自身が見下してるからだろ? そうでなけりゃ馬鹿にされることという認識すらないはずだからな。
49 :1 :2022/10/16(日) 22:36:51.25 .net >>46 えーとですね、>>40 にも書いた通り独学です 仕事は…世間でいう所の無職ですね 障害者施設に通っています >>47-48 いや、社会に出ればどのみち厳しい評価は下るのですから、今からズバズバ 言ってくれた方が却って助かります
50 :仕様書無しさん :2022/10/16(日) 23:29:32.02 .net >>46 日本のIT職としては違和感ないコードだろw もしかして自己評価高いタイプ?
51 :仕様書無しさん :2022/10/16(日) 23:53:23.88 .net えっ?趣味なら別にすきにすればって話だけど、業務でこれは追放レベルだろ
52 :仕様書無しさん :2022/10/16(日) 23:59:29.74 .net 障害者が独学で趣味でやってるならこのレベルで十分でしょ。 別にこれでpython経験者を名乗ってフリーランスになろうって 言うんじゃないんだからムキになんなよ。
53 :仕様書無しさん :2022/10/17(月) 00:11:57.49 .net っつーか、pythonで書かれてるけどpythonのコードじゃないわなw 作法や便利機能覚えて精錬されていくのはこれからだろ。
54 :仕様書無しさん :2022/10/17(月) 00:19:58.42 .net ほぼ憶測で言うけど入門書の一番最後に乗ってたゲームサンプルの改造だろ 言語の入門書の最後にこの手のゲームサンプル載せて締めくくる本はよくあるし そういうのは言語の基礎的な機能だけで書く事が目的だから高級機能が出てこない
55 :仕様書無しさん :2022/10/17(月) 00:21:56.69 .net NumPyないと何もできない雑魚になるよりはまし。 最初は基本から。
56 :仕様書無しさん :2022/10/17(月) 01:40:11.11 .net 苦しい事難しい事大嫌いで高級機能使いまくりのキディは腐るほどいるしな ちょっとセンスのある中高生なら100時間もあれば出来上がりそうなIT人材()
57 :仕様書無しさん :2022/10/17(月) 02:01:56.91 .net かといってNumPyも使えないのにpython案件に応募してこられても困る というかpipも知らないやつとかマジでいるからな
58 :仕様書無しさん :2022/10/17(月) 09:49:05.29 .net いくつ便利なフリーモジュール知ってるかなんてネットではイキれても業務じゃ何の役にも立たないよ インストール許可されねーよw ってのがニートにはわからないよね
59 :仕様書無しさん :2022/10/17(月) 11:34:52.74 .net えっ!?
60 :仕様書無しさん :2022/10/17(月) 11:37:52.78 .net >>58 煽りじゃないんだけど、フリーモジュール使わないで pythonで業務で何作ってるの?マジで知りたい。
61 :仕様書無しさん :2022/10/17(月) 11:52:49.22 .net そんなんいくらでもあるだろw ゴミくずニートは社会経験ないからフリーモジュールなんてほとんど許可されないなんていう常識すら知らんらしいwww
62 :仕様書無しさん :2022/10/17(月) 12:23:26.63 .net 業務でNumPyなんてニートの妄想力は怖いなぁwwwwwww
63 :仕様書無しさん :2022/10/17(月) 13:18:22.47 .net NumPyしか知らない奴
64 :仕様書無しさん :2022/10/17(月) 15:21:52.00 .net あれだろ、pip installはNGだけどRHELでyum installで提供されてるのは大丈夫みたいなのだろ? RHELがどこまでサポートしてるのかは知らんけど
65 :1 :2022/10/18(火) 00:10:25.22 .net >>51 甘くないですね… >>53 マジですか… >>54 ブラックジャックという題材は割と使われるみたいですが、 コード自体は完全オリジナルです 今自分の力ではどのくらいのものが書けるのか試してみたいと思いまして >>57 NumPy使えるようにしておきます
66 :仕様書無しさん :2022/10/18(火) 20:07:23.00 .net NumPyってのは例えだよ pythonの開発では目的に適うモジュールをどれだけ知っていて どれだけ早く目的を達成できるコードを低コストで書けるかが重要
67 :仕様書無しさん :2022/10/19(水) 11:22:54.33 .net というニートの有難いお話
68 :仕様書無しさん :2022/10/19(水) 19:27:50.23 .net 学生×ギリ健×アスペ×無職のコラボレーションだな
69 :1 :2022/10/19(水) 22:23:51.13 .net >>66 さんはニートではないと信じています 貪欲に知識をつけていきたいと思います
70 :仕様書無しさん :2022/10/24(月) 19:02:38.57 .net >>36 def f(a , score) = [1,11].repeated_combination(a).map{_1.sum+score}.&([*1..21]).max 面白いロジックだから何となく短くしてみたんでメモ代わりパピコ
71 :仕様書無しさん :2022/10/24(月) 19:07:19.56 .net 言語によっては総当たりで出力した配列すべてに[score]を足す [1,11] + [socre] => [1,11,score] みたいな っていう処理を簡潔に書けそうな気するけど rubyの非標準機能になっちゃうな
72 :仕様書無しさん :2022/10/29(土) 07:51:49.17 .net >>68 それに加えてモテないってね。 プログラマの遺伝子はもっと残って欲しい。
73 :仕様書無しさん :2023/09/22(金) 18:57:53.23 .net こっちのお祭、いい感じやでぇ
74 :仕様書無しさん :2023/09/27(水) 21:11:50.38 .net やることがないな
75 :仕様書無しさん :2024/03/29(金) 13:24:22.11 .net 今現在も荒らし継続中 こんなことないからか しかし 冷静に見ることがバレることじゃないやろ
76 :仕様書無しさん :2024/03/29(金) 13:55:11.48 .net 出てこないな GC2、3作がまあまあウケただけだろ どっちもだな たまに食べるのが無能過ぎるだけやろ
77 :仕様書無しさん :2024/03/29(金) 14:43:17.93 .net 居眠り運転・脳梗塞だろな
78 :仕様書無しさん :2024/03/29(金) 14:43:37.87 .net 海外記事
79 :仕様書無しさん :2024/03/29(金) 14:59:36.34 .net 発表が遅い それをわかってないな
80 :仕様書無しさん :2024/03/29(金) 15:38:02.48 .net 屁が出る」 「#鶴瓶ではかったほーねー?」 https://dxu.4281/hbXMcdA
81 :仕様書無しさん :2024/03/29(金) 16:20:13.32 .net あんなに燃えた高校生と https://i.imgur.com/oB82xja.png
82 :仕様書無しさん :2024/03/29(金) 16:23:32.75 .net 人のメダルが見られるお食事とかDOI前にスピンしても
21 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200
本文 スレッドタイトル 投稿者