SlideShare a Scribd company logo
コーディングアンチパターン
〜失われた7人のアンチパターンおじさん〜
自己紹介
• トコロテン(@tokoroten_lab)
• 好きなもの
• 猫
• 男の娘
• 趣味
• 競技プログラミング
• Web開発
• ゲーム開発
• お絵かき
アンチパターンおじさん一覧
• 🗽コーディング規約ガバガバおじさん🗽
• 🌳森羅万象for, whileおじさん🌳
• 💥四方八方breakおじさん💥
• 🧙マジカルおじさん🧙
• 🌍ハイパーグローバルおじさん🌍
• 👏メモリガチホールドおじさん👏
• 😏イキリマルチスレッディングおじさん😏
🗽コーディング規約ガバガバおじさん🗽
🗽コーディング規約ガバガバおじさん🗽
nums_gokei heikinprintNumsInfo
コーディング規約
• 構成要素
• 命名規則
• コーディングスタイル
• コメント
• etc
• 例
• PEP8
• unity community – Csharp Coding Guidelines
• Google HTML/CSS Style Guide
ここくらいは意識しよう
🗽コーディング規約ガバガバおじさん🗽
nums_gokei
heikin
printNumsInfo print_nums_info
nums_sum
nums_avg
言語の統一(英語)
ケースの統一(スネークケース)
詳細度の統一(‘nums_’をつける)
🌳森羅万象for, whileおじさん🌳
🌳森羅万象for, whileおじさん🌳
新しいリスト生成
全ての要素を反復
条件に合うもの
🌳森羅万象for, whileおじさん🌳
新しいリスト生成
全ての要素を反復
条件に合うもの
forEachを利用
🌳森羅万象for, whileおじさん🌳
新しいリスト生成
全ての要素を反復
条件に合うもの
forEachを利用
filterを利用
🌳森羅万象for, whileおじさん🌳
全ての要素を反復
新しいリスト生成
forEachを利用
🌳森羅万象for, whileおじさん🌳
mapを利用
全ての要素を反復
新しいリスト生成
forEachを利用
🌳森羅万象for, whileおじさん🌳
反復
全ての要素を反復
条件付き
for
forEach
新しいリスト生成
条件なし
mapfilter
処理のスコープを考える
💥四方八方breakおじさん💥
💥四方八方breakおじさん💥
最後尾
ループカウンタでbreak
先頭
入力でbreak
💥四方八方breakおじさん💥
ループの終了条件にする
最後尾でbreak
先頭でbreak
🧙マジカルおじさん🧙
🧙マジカルおじさん🧙
validate1
validate2
🧙マジカルおじさん🧙
validate1
validate2
validateBoundBySumWithMod
validateBoundByProductWithMod
🌍ハイパーグローバルおじさん🌍
🌍ハイパーグローバルおじさん🌍
input_dataがグローバル
変数名が一般的
グローバルの必要性
🌍ハイパーグローバルおじさん🌍
input_dataがグローバル
変数名が一般的
グローバルの必要性
ローカル変数に変更
引数として受け渡し
👏メモリガチホールドおじさん👏
malloc()でメモリ確保
即リターン
ホールド完了
👏メモリガチホールドおじさん👏
malloc()でメモリ確保
free()で解放
イ
キ
リ
マ
ル
チ
ス
レ
ッ
デ
ィ
ン
グ
お
じ
さ
ん
😏
😏
イ
キ
リ
マ
ル
チ
ス
レ
ッ
デ
ィ
ン
グ
お
じ
さ
ん
😏
😏
countを1000個のスレッド
から更新
😏イキリマルチスレッディングおじさん😏
count
thread1 thread2 thread1000thread3 …
😏イキリマルチスレッディングおじさん😏
count
thread1 thread2 thread1000thread3 …
読み込み時
書き込み時
0 1
1 2
1
2
??? <= 1000
??? + 1
イ
キ
リ
マ
ル
チ
ス
レ
ッ
デ
ィ
ン
グ
お
じ
さ
ん
😏
😏
排他制御を行う

More Related Content

More from Ten Tokoro

本当にあった怖いJS
本当にあった怖いJS本当にあった怖いJS
本当にあった怖いJS
Ten Tokoro
 
Noko game
Noko gameNoko game
Noko game
Ten Tokoro
 
二項ヒープ
二項ヒープ二項ヒープ
二項ヒープ
Ten Tokoro
 
川渡り問題
川渡り問題川渡り問題
川渡り問題
Ten Tokoro
 
Avengers
AvengersAvengers
Avengers
Ten Tokoro
 
Vision test
Vision testVision test
Vision test
Ten Tokoro
 
English pond
English pondEnglish pond
English pond
Ten Tokoro
 

More from Ten Tokoro (7)

本当にあった怖いJS
本当にあった怖いJS本当にあった怖いJS
本当にあった怖いJS
 
Noko game
Noko gameNoko game
Noko game
 
二項ヒープ
二項ヒープ二項ヒープ
二項ヒープ
 
川渡り問題
川渡り問題川渡り問題
川渡り問題
 
Avengers
AvengersAvengers
Avengers
 
Vision test
Vision testVision test
Vision test
 
English pond
English pondEnglish pond
English pond
 

コーディングアンチパターン