Тёмный
No video :(

【初心者向けプログラミング講座】美しいif文を書こう!【ひろはす】 

ひろはす ゲームクリエイター養成所
Подписаться 78 тыс.
Просмотров 27 тыс.
50% 1

売れるゲームクリエイターを育成するオンラインスクール
「GC’sブートキャンプ」開校!
期間限定で超実践型オンラインセミナー無料公開中!
セミナー視聴で僕の電子書籍「超実践型インディーゲームクリエイターガイド」をプレゼント!
今すぐ公式LINEに登録しよう!👇
penguin-asp.co...
※スクールに関する質問は公式ラインにお願いします!
このチャンネルはゲーム業界歴約20年の私が、ゲームクリエイターになりたい人や個人でゲームを作っていきたい人、ゲーム会社に就職・転職したい人のために、開発・制作のノウハウや売上の伸ばし方、企画やプログラムのコツ、勉強法など様々な情報を語っていくチャンネルです。
チャンネル登録よろしくお願いします!
メインチャンネル
/ @hirohasu
サブチャンネル
/ @hirohasu2
ひろはすが弟にゲーム開発を教えるチャンネル
/ @kkgame
各種SNSもフォローよろしくお願いします!
【Twitter】
/ hirohasusan
【Instagram】
公式 / hirohasu_game
プライベート / hirohasusan
【TikTok】
vt.tiktok.com/...
■プロフィール
ファミコンのスーパーマリオブラザーズに出会いゲームクリエイターを目指し始める。
小学生から個人でゲーム開発を始める。
専門学校卒業後ゲーム会社に3Dグラフィックデザイナーとして就職。
10年間サラリーマンとしてゲームを作った後独立して再び個人でゲームを作り始める。
現在は趣味でゲームを作りながらゲームクリエイターになりたい人を応援するために各種SNSでノウハウを発信しています。
※記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
#ひろはす #ゲーム開発 #ゲーム制作 #ゲームクリエイター

Опубликовано:

 

5 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 70   
@ziroura
@ziroura Год назад
みんなリーダブルコード読もう
@toumorokoshi111
@toumorokoshi111 Год назад
このearly returnとかガード節とか言われてるテクニック、不具合が出たときに必要以上にコードを追わなくていい点と、elseが必要になったときに迷いづらい点が非常に良い
@kumao230
@kumao230 Год назад
ダラダラ長くなりがちなプログラミング解説動画をこんなに短くピンポイントでとても実用的にまとめたのは凄い! 今後にめちゃめちゃ期待してます!!
@user-qk5ic1we3h
@user-qk5ic1we3h Год назад
私もearly return肯定派です。 想定している正常系でのreturnなら問題無いと思います。 ただ、インスタンスが無い等異常系のreturnの時に何のエラーログも無いままreturnしているプロジェクトの不具合修正に苦戦した事があるので、異常系のreturnをする場合はエラーログ等を出すようにしておいた方が将来的にみんな幸せになると思います。
@KK-xn4cm
@KK-xn4cm Год назад
このコーナー続けて欲しい!
@user-sy7wc5jp6m
@user-sy7wc5jp6m Год назад
自分で、まさに読みにくいif分を書いていて、読みにくいな~っと思っていました。 なるほど、とても読みやすいですね!実践していきます!!
@Koh_Wiz
@Koh_Wiz Год назад
複雑なフラグ管理の場合には、テーブル化して参照ってのもありなんですよねぇ
@qawsklp
@qawsklp Год назад
早期return は読みやすいのもあるけど、エラー時に何もしないというのがはっきりわかるので理解しやすいですね...
@Bdash9928
@Bdash9928 Год назад
この書き方だと、後で条件を追加しても可読性が変わらないのが良いですね。 論理演算子で横に繋げるのはカッコよく見えますが、条件が増えるほど「これは一体何を判定したいんだ……?」と読みにくくなっていくという罠…… あとは、「isDead」という名前を付けてあげることで、「もし死んでいたら」と英文を読むようにコードを読めるという利点もありますね。
@sankakuonigiri
@sankakuonigiri Год назад
スパゲティコードに悩まされていたため、非常に助かります。
@nthdthdyjsehsnw4ethwbt
@nthdthdyjsehsnw4ethwbt Год назад
素晴らしいコンセプトですね!if文の頻度は他と比べ物にならないですからね!
@numberprime9917
@numberprime9917 Год назад
カッコを開けるんじゃなく カッコを閉じるんですね!😮 結構使えそう!
@ayumuhitori8149
@ayumuhitori8149 Год назад
即リターンは個人なら良いけど、会社だと新人とかがコード読め無さすぎてリターン後に処理書いたりするからバグの温床になる(海外にソース渡したときもそう)。 アホみたいな話だけどガチで有る。やるなら先頭でエラー処理する時だけの方がいい
@user-tj6qz6ho8o
@user-tj6qz6ho8o Год назад
同意です 基本的に途中でのリターンはその後の処理が単純に不要と言える時に先頭部でですね。 または例の様なif文なら&で条件を纏める形で階層を減らすようにしてます。 20年以上前の装置の面倒も見る必要のある分野なので安全性の積み重ねの自己流です。
@powo6106
@powo6106 Год назад
これはめっちゃわかりやすい! 非常に助かりました!!
@tarokun5532
@tarokun5532 Год назад
他に人も書いてますが、update処理は生きてたら行うのが流れ的には美しいかも。
@fg-3590
@fg-3590 Год назад
個人的には修正後の方がバグが出やすいと思います。 特に1つの関数の中に複数のreturnが出てくるのが逆に追いにくくする要因かと。
@ps4youtube925
@ps4youtube925 9 месяцев назад
久しぶりに覗いてみました。今回の動画良かったです。 正直ひろはすさんってあんまプログラミング得意じゃないのかと思ってました。 動画もゲームクリエイターの話とか売上る話とか、ゲームエンジンの利用法とか紹介とかそういうのばかりだったんで。 プロデューサーでもゲームデザイナーやクリエイターではあるわけですから、実際プログラミングしてるんは別の人かなとか。 unityでゲーム制作の講座見たいなら一から作りながら解説してる他のチャンネル見たほうが ぜんぜん有意義だと思って、いつの間にか他のチャンネルに行ってました。 スクール開校されたんですね。 今後はプログラミング講座の動画を増やして欲しいです。そのほうが今よりも説得力もでると思います。
@survible
@survible Год назад
普段はscriptを書くくらいでしたがとても勉強になりました……!
@user-pr2js3om1u
@user-pr2js3om1u Год назад
さっそくUnityのプログラムを書きかえました~すげぇ参考になる。。
@KiibooGame
@KiibooGame Год назад
参考になります〜🎉
@Pascal_123
@Pascal_123 Год назад
うう、if・if else・else文のなかにさらにif・if else・else文が2、3階層ネストしてたプログラムの修正が必要になった時があって大変だっと記憶が w if分を取っ払って全ての変数毎に取りうる状態を洗い出して、配列に突っ込んですべての組み合わせ網羅して、配列の何番目に該当するかで処理を切り替えるって感じに全面的に変更したような。
@harumakimaki
@harumakimaki Год назад
if(!IsDead()) { //処理 } が個人的には可読性高くて好き
@YASUCHIKAMORITA
@YASUCHIKAMORITA Год назад
IsUpdatable()にしますね~
@Chisataki-is-god
@Chisataki-is-god Год назад
「IsDead()」のようにネガティブを判定するより、「IsAlive()」のようにポジティブを判定した方が直感的で親切かもしれませんね。 やりたいことを抽象化すると「命があるかどうか」を判定したいということになりますので、 true(真) -> 命がある false(偽) -> 命がない とする方が、名前(目的)と結果(戻り値の意味)が直感的に結びつきやすく、自然な表現になります。 「IsEnable()」「IsVisible()」のように、ポジティブを判定する事例は多くありますが、無効な値であるか確認する「IsInvalid()」のように、ネガティブを判定する方が意味が通りやすい事例もありますので、使い分けが難しいですが、、、、、
@user-il8ow8in6f
@user-il8ow8in6f Год назад
ガード節って学校の教員とかには使っちゃダメっていう人が居るんですよね(ゲーム系にはいないのかも)
@heike_story
@heike_story Год назад
ソースコード整理は至上の喜び
@Rey-pd4gc
@Rey-pd4gc Год назад
最近始めた初心者なんですが条件を一つのかっこの中で&&でつなげるのはダメなんですか?
@harumakimaki
@harumakimaki Год назад
動くのは大前提として、 デバッグがしやすい、あとから見返しても読める、他人が読んでも読める などの条件が揃ってれば、個人的にはいいと思いますよ
@Rey-pd4gc
@Rey-pd4gc Год назад
はえ〜 勉強になるわ サンガツ
@user-ux7dc5so2b
@user-ux7dc5so2b Год назад
シーケンシャルに実行されるプログラムは楽でいいなぁ、HDLはコンカレントだからめんどくさい。
@takafumifujiwara4911
@takafumifujiwara4911 Год назад
ラムダ式も見たいですー
@falconno6554
@falconno6554 Год назад
3:38 そこの関数名はIsDead じゃなくてIsAliveのように肯定的な単語にした方がいいと思いますよ 今回の使い方はearly returnとしてなので、「○んでたら終了する」というより「生存していなければ終了する」とした方が可読性上がりそうですね(from リーダブルコード) P.S. 他のコメ読んだらすでに書かれていた…
@sylphied.
@sylphied. Год назад
関数内に複数のreturnを置くのはホビーユース向けですね。コードレビューで指摘対象になるので納品出来ない可能性があります。
@hogebar5470
@hogebar5470 Год назад
それどこの業界ですか?聞いたこと無いです。
@sylphied.
@sylphied. Год назад
@@hogebar5470 MISRAという世界基準です。
@hogebar5470
@hogebar5470 Год назад
なるほど MISRA C ですか。組み込みや自動車業界の方ですかね。 MISRA C ではそういう規則かもしれませんが、C# や Python、TypeScript などの言語ではガード節はダメというのは聞いたことがなかったので。
@sylphied.
@sylphied. Год назад
@@hogebar5470 ええ、そういう直接生命に関わらないものを指してホビーユースと言っています。
@hogebar5470
@hogebar5470 Год назад
@@sylphied. なかなか煽った言い方だとは思いますが、承知しました。
@gammeldrask919
@gammeldrask919 Год назад
でもデバッグしずらくならないすかね。
@user-fj4tq3qm6b
@user-fj4tq3qm6b Год назад
とても参考になります!(悪い例の分岐書いちゃってた) 関数化とreturnと返り値をまだまだ使いこなせません💦
@Shishamoequalroot-1equali
@Shishamoequalroot-1equali Год назад
とりあえずreturn(返り値)は関数を呼び出された時に返す数値のことですね。 例(C言語(これはadd関数(足し算して計算結果を返す関数)を作ってみたやつ)) #include int add(int a, int b); int main(){ printf("1 + 1 = %d ", add(1, 1)); } int add(int a, int b){ return a + b; } みたいな感じ
@applepi314root
@applepi314root Год назад
こういうのほんとに助かる。 いつ知らぬ間にクソコード書いてるか不安になる時あるのでこういうのありがたいです。 ダウンロードしたので複数回聞いてみるようにします
@kingo8627
@kingo8627 Год назад
Bard使えるようになっていないのかな?比較してみて欲しい。結構使えます。
@e-keii
@e-keii 9 месяцев назад
&&を使ってはいけないんですか?
@musouryunen
@musouryunen Год назад
ChatGPTに課金して、汚いプログラムをコピペして直してと言うだけでサクッと綺麗にしてくれるのでおすすめ
@user-tanatoi
@user-tanatoi Год назад
丁度C♯学習してて.netとはとかキャストとはとか読んでて挫折しそうです
@masato291
@masato291 Год назад
if文は処理が1行でも必ず{}を付けるべきだと思ってたけどゲームのコードだと要らないんだね
@user-pn9cx6pj6s
@user-pn9cx6pj6s Год назад
今度ゲーム系(cg)の専門学校にオープンキャンパスに行くのですが、これだけは聞いとけ!!的なものはありますか?
@hirohasu
@hirohasu Год назад
実績は聞いておきましょう! 去年の卒業生何人で、その内何人ゲーム会社入ったかは聞いておいた方が良いと思います👍
@user-tz9yo5hu2v
@user-tz9yo5hu2v Год назад
深いネストを避けるのはif文もあるあるですが、for文はもっと大事で、可読性以前に潜在的な性能バグとして大問題になる可能性があるので気をつけましょう。 3つのループをそれぞれ1000周回す時にもし①何も対処せず三重ループにしてしまうと10億回処理が走る。 ②独立した3回のループなら処理数は3000回で済むし、どうしても処理的に無理で③二重までしか減らせないとなっても100.1万処理まで削減できる。 もし1回の処理が1ミリ秒だとして計算すると、①なら12日もかかってしまう。これが②なら3秒、妥協して③でも16分と大幅な性能改善が見込める。 ただ、上記の改修はそこそこ難易度が高く、万能の処方箋を出すのも難しいので「この深いネスト大丈夫かな?」と思ったらまずはコーディングスキル高い先輩に聞くのがオススメ。
@user-rl1lq5cp6f
@user-rl1lq5cp6f Год назад
リターン。 戦闘開始時に戻るあれか!?
@marpan2371
@marpan2371 Год назад
私は美しくまとめるってどーだかなと思うかな。 確かに斜めは読みにくさを感じるかもしれないが、シンプルに意図が読み取りやすいし、割と改修しやすいのよ。
@takoserverchannel66
@takoserverchannel66 28 дней назад
美しく=読み取りやすくする なんだけどなぁ… 多分斜めに慣れてるからそう思うだけでは?
@nyangoro1115
@nyangoro1115 Год назад
こういうの助かりますm(_ _)m
@minolisnull1046
@minolisnull1046 Год назад
この手法p5.play(js)でも使えますか?
@user-bq1md9sw6r
@user-bq1md9sw6r Год назад
大学卒で中小企業のゲーム業界にプログラマーとして入るのは難しいですか?
@hirohasu
@hirohasu Год назад
同じ実力ならむしろ大卒の方が優遇されると思います👌
@town4957
@town4957 Год назад
気を付けますー^^;
@user-hq4ko4lj1l
@user-hq4ko4lj1l Год назад
ゲームの機能をどういうクラスに分けるべきか、またどのくらいまで機能を細分化するべきかいまいち分からないので説明や紹介をお願いします 今後も見に行きます
@tribear
@tribear Год назад
言語はどこからどこまで使えるんですかね
@Shishamoequalroot-1equali
@Shishamoequalroot-1equali Год назад
基本的にこういう時は&&を主に使ってたけどこういう事も出来るのかと思ったただのDxLibでクソゲーだけ作ってる柳葉魚であった。
@tacky9736
@tacky9736 Месяц назад
一応エンジニア歴40年のじじぃの意見です 出口が複数はダメだと思うけどなぁ if分にコメントってもどうだかなぁ そのかっこの書き方もしないなぁ それを見やすいと思うのは時代の差なのかなぁ
@44heee
@44heee Год назад
ポイントは逆のif文ね
@user-tl5gw5oj5h
@user-tl5gw5oj5h Год назад
if(false) { a:      //この辺に全角スペース } goto a;
@iwa6981
@iwa6981 Год назад
Ohhhh
@kosetei1
@kosetei1 Год назад
構造化プログラミング涙目
@catkazu8326
@catkazu8326 Год назад
通常、関数と言わず、メソッドと呼びます。
Далее
Cute kitty gadget 💛💕
00:23
Просмотров 6 млн
ЭТО мне КУПИЛИ ПОДПИСЧИКИ 📦
22:33