Unityスクリプトレビュープログラミングレッスン

ゲーム向けUnity C#スクリプトレビュー

最短1日で納品修正対応込み品質チェック
プラン
安心決済詳しく
  • プランの範囲内の修正は無料です。
  • 納品から3日以内にご対応がない場合、自動的に承認されます。
注文する · ¥5,410

代金はお支払い時にお預かりし、納品を承認した時点ではじめて支払われます。

ゲーム向けUnity C#スクリプトレビュー

成果物の例

スタンダードパッケージの例

コードレビュー:小さなネットショップの注文取り込みPythonスクリプト

コードの処理内容

  1. ショップから出力した orders.csv を読み込む
  2. 注文行ごとに stock.xlsx からSKUで商品を探し、数量を差し引く
  3. 更新した在庫を書き戻し、集計を import_log.txt に記録する

構成はわかりやすく、関数名も適切です。問題の多くは、想定と違う形式のデータが入ってきたときに起きています。

バグと弱点

No.行重要度内容
148高同じCSVを2回取り込めてしまう。処理済みの注文IDを確認していない。在庫がマイナスになる最も有力な原因
272高返品注文の空欄や「2.0」のような値で int(row["qty"]) が落ちる
395中SKUの照合が大文字・小文字を区別するため「gt-101」と「GT-101」が別商品扱い
4130中encoding="utf-8" を指定せずにファイルを開いており、Windowsで日本語の商品名が文字化けする
5201低素の except: が本当のエラーを隠し、ログが役に立たない

修正コード(抜粋)

問題1:取り込み済みの注文をスキップする

processed = load_processed_ids("processed_orders.txt")
for row in reader:
    if row["order_id"] in processed:
        continue
    # ... 既存の処理 ...
    processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)

理由:同じファイルでもう一度実行しても、各注文は1回しか反映されません。

問題2:数量を安全に読み取る

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("注文 %s:数量 %r が不正のためスキップ", row["order_id"], raw)
    continue

理由:返品や一部キャンセルの行は、取り込み全体を止めずに、わかりやすいメモを残してスキップされます。

問題3:SKUを正規化する

sku = row["sku"].strip().upper()

在庫の辞書を作る側にも同じ .strip().upper() を適用してください。

書き方と読みやすさ

  • process() が90行あります。read_orders、apply_to_stock、write_report に分けましょう。
  • row[7] のような列番号の直書きは、見出し名での参照に置き換えてください。

ご注意: 各修正は必ずファイルのコピーで試してください。今回はコードを読んでレビューしたもので、実行はしていません。

クライアント: 紅茶専門店のオーナー。ネットショップの注文CSVを在庫表に取り込む310行のPythonスクリプトをご自身で作成 ご相談内容:「ときどき在庫がマイナスになる。ファイルによってはスクリプトが止まる」

お客様とすべての情報は架空のものです。

このサービスについて

小さなテストシーンでは動くUnityのスクリプトも、実際のゲームではカクついたり壊れたりしがちです。毎フレーム呼ばれる GetComponent や Find、Update 内での新しいオブジェクトの生成、FixedUpdate の外で動かす物理、Time.deltaTime を無視した移動、破棄されたのに別のスクリプトから参照され続けるオブジェクトなどです。MonoBehaviour を読み、Unityがそれらを呼び出す順序を説明し、バグとフレームレートへの負荷を指摘します。修正済みの断片では、実際に効果がある箇所でキャッシュ、イベント、プーリングを使います。

含まれる内容

  • 納品内容注文ページに書面のレビューをお届けします。内容は、スクリプトが毎フレームどう動くか、重要度順のバグとパフォーマンスの負荷、修正済みのC#の断片です。プレミアムでは、ゲームの次の段階に向けたUnityとC#の学習プランも付きます。
  • Unityの呼び出し順序Awake、Start、Update、FixedUpdate
  • フレームごとの負荷繰り返しの検索ではなくキャッシュを
  • 物理と移動Rigidbody の使い方と deltaTime
  • null 参照破棄されたオブジェクトと切れた参照
  • 修正済みの断片お使いのシーンに合わせたメモ付き

ご利用の流れ

  1. 1
    依頼内容スクリプトとConsoleのエラーを貼り付けていただきます
  2. 2
    通読毎フレーム何が実行されるかを追跡します
  3. 3
    チェックバグ、負荷、修正済みのコードが届きます

ご用意いただくもの

テキストまたはスクリーンショットで貼り付けたC#スクリプト、Unityのバージョン、そのメカニクスでやりたいこと、実際に起きていること、Consoleウィンドウのエラー。

お伺いする内容:

  • Unityのバージョンとレンダーパイプラインは何ですか?
  • そのスクリプトはどのメカニクスを担当していますか?
  • ゲームはどのプラットフォーム向けですか?
  • どの入力システムを使っていますか?

プランを比較

プランベーシック最大100行のスクリプト¥2,320スタンダード最大400行のスクリプト¥5,410プレミアム学習プラン付きで最大1,000行¥10,670
納期1日2日3日
修正回数123
コードの行数最大100最大400最大1,000
修正済みの断片ありありあり
学びの計画なしなしあり
注文する ベーシック注文する スタンダード注文する プレミアム

安心決済

お支払いは注文時ですが、代金が支払われるのは承認された納品に対してのみです。

  • 固定料金お支払い後にプランの料金が変わることはありません。
  • 代金はお預かりお支払い時、代金はお預かりするだけです。納品を承認した時点でサービス側に支払われます。
  • 納品前にチェックすべての成果物はお手元に届く前に品質チェックを受けます。承認前に注文ページで内容を確認できます。
  • 無料の修正依頼内容の範囲内で、プランで定められた回数まで修正を依頼できます。
  • 3日後に自動承認納品から3日以内に承認も修正依頼もない場合、自動的に承認されます。納品後に注文チャットでメッセージを送った場合、注文は保留されます。こちらから回答した後、3日間のカウントを再開することがあり、その際はチャットでお知らせします。
  • やり直しまたは全額返金結果が依頼内容と合わず修正でも解決しなかった場合、または作業に納期の2倍を超える時間がかかった場合は、注文チャットでご連絡ください。作業をやり直すか、代金を全額返金いたします。
詳しい仕組み →

質問と回答

Unityのプロジェクトを開いてもらえますか?

いいえ。貼り付けていただいたスクリプトを読み、説明とスクリーンショットからシーンを推測して検討します。各修正はエディターでテストしてください。

Inspectorの設定も手伝ってもらえますか?

はい。オブジェクトに付いているコンポーネントのスクリーンショットをお送りください。スクリプトが前提としている内容と照らし合わせて確認します。

ゲームのシステムを丸ごと書いてもらえますか?

これはお手元のコードのレビューです。修正済みの断片と解説をお届けするもので、システムをゼロから完成させるものではありません。

プラン
注文する · ¥5,410· 2日