今まで仕事で携わってきたPHPでの開発において、可読性、保守性が明らかに低かったコードの例を話し、リファクタリングする場合はどうするかなどを説明します。 例えば、メソッドの引数が7個以上ある。変数名が解読不能。if文のネストが7つ以上あるなどです。
ླ೭
View Slide
ࣗݾհɾձࣾհා͍ίʔυͱʁຊʹ͋ͬͨා͍1)1ίʔυબ
Copyright Re:Build.inc All Rights Reserved.ରऀʹ͍ͭͯ01)1ͷجૅ͕ࣝ͋Δॳڃऀʙதڃऀ͚
ࣗݾհɾձࣾհ
Copyright Re:Build.inc All Rights Reserved.ࣗݾհ1◆໊લླ ೭(Suzuki Takayuki)※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ◆ࣗݾհɾ1990ੜ·ΕɻɾΤϯδχΞˠϑϦʔϥϯεˠԭೄͰىۀɾPHPΧϯϑΝϨϯεԭೄ࣮ߦҕһ◆झຯίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ઓBDD(Ϗʔνۦಈ։ൃ)
Copyright Re:Build.inc All Rights Reserved.ࣗݾհ1
Copyright Re:Build.inc All Rights Reserved.ձࣾհ1◆ձ໊ࣾגࣜձࣾRe:Build◆ॅॴԭೄݝಹࢢٱໜ2-2-2 λΠϜεϏϧ◆ࣄۀ༰ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻɾडୗ։ൃɾϓϩάϥϛϯάεΫʔϧ◆ࣾһ12໊ΤϯδχΞืूͯ͠·͢ʂʂʂ
ා͍ίʔυͱʁ
Copyright Re:Build.inc All Rights Reserved.͜ͷൃදʹ͓͚Δා͍ίʔυͱʁ- Մಡੑɺอकੑ͕໌Β͔ʹ͍ίʔυͳͲΛࢦ͠·͢ɻ- ྫ͑ɺϝιουͷॲཧ͕͔Γʹ͍͘ɻม໊͕ղಡෆೳͳͲͰ͢ɻ2
ຊʹ͋ͬͨා͍1)1ίʔυબ※࣮ࡍͷίʔυΛΞϨϯδͯ͠ɺՍۭͷίʔυΛྫʹग़͍ͯ͠·͢ɻ
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બ3ᶃϝιουͷҾ͕7ݸҎ্͋Γɺม໊ΞϧϑΝϕοτΛฒ͚ͨͩൃڰͦ͠͏ʂʂ
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બ3ᶃϝιουͷҾ͕7ݸҎ্͋Γɺม໊ΞϧϑΝϕοτΛฒ͚ͨͩݺͼग़͠ݩΛݟͯԿͷม͔Θ͔Βͳ͍…ɻม໊Θ͔Γ໊͍͢લʹ͠·͠ΐ͏
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બᶄifจͷωετ͕6ݸҎ্͋ΔૣظϦλʔϯΛ͠·͠ΐ͏3
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બᶅม໊͕Θ͔Γʹ͍͘ɾҙຯ͕Θ͔Βͳ͍ࣈೖΕͳ͍ɾෆཁͳ୯ޠഉআ͢ΔɾຊޠΛϩʔϚࣈʹͨ͠ม໊NGɾྻίϨΫγϣϯෳܗʹ͢ΔɾࢺΛҙࣝ͢Δ3
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બᶆҰͭͷΞΫγϣϯϝιουʹཪͰ̏ͭΤϯυϙΠϯτ͕ଘࡏ͍ͯ͠ΔcinemaͷbladeʹϨεϙϯεΛฦ͢apiͱͯ͠JSONͷϨεϙϯεΛฦ͢eventͷbladeʹϨεϙϯεΛฦ͢ҰͭͷΞΫγϣϯϝιουʹҰͭͷΤϯυϙΠϯτʹ͢Δ3ControllerΫϥε/event?mode=apiMode?event=cinema?event=
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બᶇίϝϯτΞτࠈ͍ͭ͜ͷίϝϯτΞτΛ෮׆ͤ͞Δͷ͔ରԠظݶΛܾΊΔ3
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બᶈϚδοΫφϯόʔࠈఆΛఆٛͯ͠ɺ֤ࣈ͕ͲͷΑ͏ͳҙຯͳͷ͔Θ͔ΔΑ͏ʹ͢Δ3
Copyright Re:Build.inc All Rights Reserved.ຊʹ͋ͬͨා͍PHPίʔυ7બᶉҰͭͷϑΝΠϧʹ̎ͭΫϥε͕ఆٛ͞Ε͍ͯΔಛผͳཧ༝͕ͳ͚ΕɺͲ͜ʹΫϥε͕͋Δͷ͔Θ͔Γʹ͍͘ͷͰɺ̍ϑΝΠϧʹ̍Ϋϥεͱ͢Δ3
Copyright Re:Build.inc All Rights Reserved.·ͱΊ- Ͳ͏͍͏ίʔυ͕ٕज़తෛ࠴ʹͳΔ͔ཧղͯ͠ɺଞͷਓ͕ཧղ͍͢͠ίʔυΛॻ͖·͠ΐ͏ʂ- ίʔυϨϏϡʔΛೖΕͯଐਓԽආ͚·͠ΐ͏ɻ- ίʔυΛҾ͖ܧ͍ͩਓ͕ٽ͖·͢…
Copyright Re:Build.inc All Rights Reserved.ࢀߟจݙ- Ϧʔμϒϧίʔυ
Copyright Re:Build.inc All Rights Reserved.ࠂPHPΧϯϑΝϨϯε2022ΛՆࠒʹ։࠵༧ఆͰ͢ʂ※৽ܕίϩφΠϧεͷӨڹͰఔલޙ͢ΔՄೳੑ͕͋Γ·͢ɻ