[過去ログ] Pythonのお勉強 Part68 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
738
(1): (ワッチョイ 09f0-Z1Pq) 2022/11/11(金)00:23 ID:Zi2NVkwv0(1) AAS
マサくん
739
(1): (ワッチョイ 5e10-420S) 2022/11/11(金)00:52 ID:5ErmYwLs0(1) AAS
何のためにでっかい関数の中にクラス作るのか分からん
この設計センスなら友人のアドバイスは正しいな
740
(1): (アウアウウー Sacd-nZLu) 2022/11/11(金)00:55 ID:n0j9oGtca(1/2) AAS
blackjackで囲むのって意味あんのかね
741: 687 (ワッチョイ b11d-rPWN) 2022/11/11(金)01:14 ID:9Wk/PRlY0(1/2) AAS
レスありがとうございます

>>708
クラス使った方が見通し良くなりますよね?
スッキリJavaにもそう書いてありました(Pythonの本ではないですが)

>>709
複雑にならない方がいいからだそうです

>>710
ええ、ですので皆さんの意見をお聞きしたんです

>>711
うーん、明らかにプロと思われる方の書き込みもありますし、
信じられるレスはあると思います

>>716
ただ彼の主張では、なるべくクラスは使うな、ということでした
Javaを独習した経験がある俺からすると、少し疑問符が付くのです
742: (アウアウウー Sacd-nZLu) 2022/11/11(金)01:21 ID:n0j9oGtca(2/2) AAS
クソクラスをクソと認識できるためにもそれなりの能力が要るからね
743
(1): 687 (ワッチョイ b11d-rPWN) 2022/11/11(金)01:28 ID:9Wk/PRlY0(2/2) AAS
>>724
そうですよね
カードのクラス作りました

>>726
複数枚のカードを持つCardクラスです
ブラックジャックなので、A・J・Q・Kの値は別に決める必要があります

>>727
可読性は重視したいです

>>736
そう言って頂けると大変ありがたいです
やっぱりそこは1つの関数にまとめた方がいいんですね

>>737-740
それも友人に、グローバル変数は少なければ少ないほどいい、と言われたのを
受けてのことです
744: (ワッチョイ 515f-r/4M) 2022/11/11(金)01:39 ID:tK9Svk7P0(1/2) AAS
>>735
ざっと見た感じ、そりゃ色々言われるわ
クラス云々言ってるのに、blackjackっていうデカい関数の中にクラス切ってる時点で吹いたわ

あとクラスの役割分担というか、所属してる関数もおかしく感じるわ
プレイヤークラスっていう名前なのに、にルール関係のスコア計算、バースト判定とかが入ってるし
それこそblackjackのルールを管理をするクラスを作る方が自然だべ

あともうし自分で書くとしたら、ルールクラスにis_winっていう関数作って、そこで勝利判定してtrue/falseで返すわ
最後に全パターンで人間/CPUに対して勝利判定かけてるけど、参加プレイヤー/CPUが増えた時の勝利判定の実装とか
これベースだと面倒だろうなって思った
745: (ワッチョイ 515f-r/4M) 2022/11/11(金)01:43 ID:tK9Svk7P0(2/2) AAS
>>743
>グローバル変数は少なければ少ないほどいい
これはまず変数のスコープは狭い方が良い、っていう話だぞ
(グローバル変数だとそれこそスコープが広くてどこで書き変わるのかが不明瞭になるから、なるべく使うなって言われてる)
バカデカい関数を作るって何の解決にもなってねえwwwwwww
746
(1): (ワントンキン MM62-76so) 2022/11/11(金)05:10 ID:dIH3TsNBM(1/3) AAS
使い回さないのに関数化やクラス化する意味ってあるんだろうか
747: (ワッチョイ 6914-hUUh) 2022/11/11(金)06:45 ID:fLgBQpEC0(1) AAS
is_<動詞> ってたまに見るけどどこかで流行ってるの?
748: (テテンテンテン MM96-xcLn) 2022/11/11(金)07:35 ID:BuWtLPbxM(1/2) AAS
>>746
この業界には、「一処理は100行に収めるべし」という格言があってな
つまり100行以上の処理があったら、100行以内にぶった切って関数にして順次呼ぶべしってことなんだよ
理由は知らん
749: (アウアウウー Sacd-nZLu) 2022/11/11(金)08:51 ID:QYmFVFm/a(1) AAS
まあ分割っていうか処理に名前つけろやって感じだな
抽象的に書こう
750: (ワッチョイ 7247-GkOZ) 2022/11/11(金)09:56 ID:gNt5qX/T0(2/4) AAS
でかい関数はあれもやってこれもやってになってるから、
それを機能毎に分割すればいいだけ
1箇所からしか呼ばれない関数がいくつもできるけど、それは問題ない

うまく作ってあれば、関数の戻り値を次の関数に渡すだけ、みたいなシンプルな構造に自然となる
それぞれの機能が変数をいろいろ共有していて切り分けられなかったら、元々の書き方が悪い
751: (ワッチョイ 927e-THRA) 2022/11/11(金)10:26 ID:XH1qJoq+0(1/2) AAS
pythonではクラスをあまり作らないほうがいい、じゃなくて
お前にクラスは百年早い、って言いたかったんだろその友人は。
碌に関数も作れないのだからクラスなんて無用の長物。
752: (ワッチョイ 9263-zlm6) 2022/11/11(金)10:31 ID:PAETAgDl0(1/2) AAS
昔、関数ごとに仕様書作成が必要な現場があって、それを嫌って
ほとんどの関数が200行を超えるサイズで書かれる様になった
753: (ワッチョイ 7247-GkOZ) 2022/11/11(金)11:00 ID:gNt5qX/T0(3/4) AAS
テストができんやろ
754: (ワントンキン MM62-76so) 2022/11/11(金)11:32 ID:dIH3TsNBM(2/3) AAS
文書をアウトライン化するような感じで使うのね
メンテのときに不要な部分を読み飛ばせるのがメリットか
755: (ワッチョイ 36a6-BGGY) 2022/11/11(金)11:49 ID:VSBKZoKf0(1) AAS
何か楽をするためのプログラムを作るのはいけるけど、
サイトの仕様変更で動かなくなったときの修正が苦痛だな、、
そのまま放置になりがち、、
756
(3): (ワッチョイ 7247-GkOZ) 2022/11/11(金)11:59 ID:gNt5qX/T0(4/4) AAS
スクレイピングはそのうち廃れる気がする
元データがあって人間用に加工して表示したものをまた元データに戻さなくても、
最初から元データで公開した方がお互い楽なことに気づき始めた
757: (ワッチョイ 5ecf-o+MF) 2022/11/11(金)12:00 ID:L/uUC/Rw0(1) AAS
C++でキー処理が数百行で、しかもファンクションキー毎に少しづつ違う
という構成のものを改修させれて辟易したことある
もしや、行数で成果が評価される現場だったのか
758: (ワッチョイ 927e-THRA) 2022/11/11(金)13:05 ID:XH1qJoq+0(2/2) AAS
>>756
人間向けのHTMLを解析すれば無料なのにAPI経由は有料ってのも多いしな。
759
(2): (オッペケ Sr79-+MYa) 2022/11/11(金)13:20 ID:wT5HNNmtr(1) AAS
Python勉強してるけどどうやって初心者の粋を超えたらいいのかが分からない
何か作りたいけどその何かが思い浮かばないし
自動で巡回してエロビDLするとか電子書籍自動でスクショとかできるんだっけ?
760: (テテンテンテン MM96-xvRb) 2022/11/11(金)13:23 ID:RyfBFStrM(1) AAS
やってから聞けばいいのに
761: (ワッチョイ 5e42-E6qO) 2022/11/11(金)14:22 ID:Pyb1B8zp0(1) AAS
>>759
早速思い浮かんでるじゃん
誰かができないと言うからやらないというなら何の勉強にもならない
明確な目的が無く勉強自体が目的なら機能しないゴミしか作れなくても意味があるし思い浮かんだもの全部作ればいい
762: (ワッチョイ 1933-pSqO) 2022/11/11(金)14:23 ID:JQ5LhQOs0(1/3) AAS
>>756
もしかして、APIが存在しない世界から来た方ですか?
763: (ワッチョイ 1933-pSqO) 2022/11/11(金)14:29 ID:JQ5LhQOs0(2/3) AAS
別に既にあるものでも構わないから、何か作りたいというモチベーションがある内に色んなものを作った方がいい
独学は特に大事
764: (ワッチョイ 1933-pSqO) 2022/11/11(金)14:34 ID:JQ5LhQOs0(3/3) AAS
途中で奥ちゃった
そしたら、次に何か新しいもの作りたくなった時に何が足りないか自分で調べられるぐらいにはなってると思う
765: (ワッチョイ 5e89-AYzQ) 2022/11/11(金)15:20 ID:KvbVlUc20(1) AAS
奥り人なんだな
766
(1): (ワッチョイ 1202-o+MF) 2022/11/11(金)19:48 ID:acI+Bjnd0(1) AAS
クラスを設計するのはものすごく難しい
作り始めないとわからないことも多いし
途中で仕様が変わったりしたら
簡単に破綻する
大きなプロジェクトでは
途中でクラス構成を変えることは
困難なので
しばしば大変なことになる
767: (テテンテンテン MM96-xcLn) 2022/11/11(金)21:01 ID:BuWtLPbxM(2/2) AAS
>>759
この前も同じこと言ってる人がいたよ
作りたいものがないのでなんかアイディアないですかって

まず、何のためにPythonを勉強しているのか聞きたい
普通は作りたいものがあったり、仕事だから、課題だからという
動機があるはずなんだ
動機もなく身に着けられるものじゃないよ。プログラミングは一応専門技能だから
1-
あと 235 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s