Slide 1

Slide 1 text

ίʔυϨϏϡʔ͕޷͖ʹͳΔ ϓϩάϥϛϯάͷݪଇ by ॉ໺ ༤ଠ(͑ͼ͢ͷΏ͏ͨ)

Slide 2

Slide 2 text

about me • ϝϯόʔζΩϟϦΞʢגʣ • ϓϩάϥϚʔ̏೥໨ • ͪΐͬͱલ·Ͱۀ຿γεςϜܥSESاۀʹۈ຿ • ࢓ࣄͰָ͘͠ϓϩάϥϛϯά͍ͨ͠

Slide 3

Slide 3 text

ίʔυϨϏϡʔͰࢦఠ΋Βͬͨ • ͜ͷίʔυ͸Α͘ͳ͍ • ͜͜͸ผϝιουʹ෼͚ͨ΄͏͕Α͍ • ͜͜͸ڞ௨Խͨ͠΄͏͕Α͍ • ͳΜͰ͜͏͠ͳ͔ͬͨͷʁ

Slide 4

Slide 4 text

ίʔυϨϏϡʔͰࢦఠ΋Βͬͨ • ͜ͷίʔυ͸Α͘ͳ͍ • ͜͜͸ผϝιουʹ෼͚ͨ΄͏͕Α͍ • ͜͜͸ڞ௨Խͨ͠΄͏͕Α͍ • ͳΜͰ͜͏͠ͳ͔ͬͨͷʁ

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ʮΑ͍ʯʮΑ͘ͳ͍ʯʮͳΜͰʯ ͱ͸ʁ • ࢦఠͨ͠ଆ΋Θ͔ͬͯͳ͍ʁ • Θ͔ͬͯΔ͚Ͳઆ໌Ͱ͖ͳ͍ʁ • આ໌ͷ͕࣌ؒͳ͍ʁ • ޱԼखʁ • ܦݧଇʁ

Slide 7

Slide 7 text

• Ϗδωεతʹ࣮ݱ͍ͨ͠໨తͰ͋Δ͔ʁ • Ϗδωεతʹ௚઀ؔ܎͢ΔΘ͚Ͱ͸ͳ͍͚Ͳɺ ඞཁͳ΋ͷͰ͋Δ͔ʁ • طଘͷίʔυͱॻ͖ํ͕ҧ͏ʁ • ྑ͍ίʔυͰ͋Δ͔ʁ ʮΑ͍ʯʮΑ͘ͳ͍ʯʮͳΜͰʯ ͷީิ

Slide 8

Slide 8 text

• Ϗδωεతʹ࣮ݱ͍ͨ͠໨తͰ͋Δ͔ʁ • Ϗδωεతʹ௚઀ؔ܎͢ΔΘ͚Ͱ͸ͳ͍͚Ͳɺ ඞཁͳ΋ͷͰ͋Δ͔ʁ • طଘͷίʔυͱॻ͖ํ͕ҧ͏ʁ • ྑ͍ίʔυͰ͋Δ͔ʁ ʮΑ͍ʯʮΑ͘ͳ͍ʯʮͳΜͰʯ ͷީิ

Slide 9

Slide 9 text

“ྑ͍ίʔυ”ͱ͸ͳʹ͔ʁ

Slide 10

Slide 10 text

Θ͔Βͳ͍

Slide 11

Slide 11 text

ʮΘ͔ΔʯͨΊͷ෢ثͱͯ͠ • ϓϩάϥϛϯά͢Δ࣌ʹ”Α͍”ͱ͞ΕΔࢦඪ ͕͋Δʂ • ʓʓݪଇ • ๏ଇͱ͔ɺࢥ૝ͱ͔΋

Slide 12

Slide 12 text

ʓʓݪଇ͸ʢͨͿΜʣԞਂ͍ • ݪଇҰͭͰҰ࡭ຊ͕ग़དྷ্͕Δ͙Β͍ • LTͰ͸͢΂ͯΛ஌Δ͜ͱ͸Ͱ͖ͳ͍ͷͰ • ͨ͘͞ΜͷݪଇΛ ֓ཁ͚ͩ঺հʂʂ

Slide 13

Slide 13 text

DRYݪଇʢυϥΠݪଇʣ (Don’t Repeat Yourself.) • ҙຯ • ܁Γฦ͞ͳ͍ • ίʔυΛผͷॲཧʹίϐϖ͠ͳ͍ • ͳͥʁ • มߋ͢Δ࣌ʹɺίϐϖ෦෼Λ͢΂ͯมߋ͠ͳ͚Ε͹ͳΒ ͳ͍

Slide 14

Slide 14 text

OCPݪଇʢΦʔϓϯΫϩʔζυͷݪଇʣ (Open-Closed Principle.) • ҙຯ • ػೳ௥Ճ͕Մೳ • ػೳ௥Ճͯ͠΋طଘॲཧʹӨڹ͠ͳ͍ • ͳͥʁ • ࢓༷มߋʹରԠ͠΍͍͢

Slide 15

Slide 15 text

SRPݪଇʢ୯Ұ੹೚ݪଇʣ (Single Responsibility Principle.) • ҙຯ • ҰͭͷϞδϡʔϧͷมߋ࣌ʹɺཧ༝͕ೋͭҎ্͋ͬͯ͸ͳ Βͳ͍ • Ϟδϡʔϧͷ໾ׂ͸̍ͭʹ͢Δ • ͳͥʁ • A͞ΜͱB͞Μ͕ಉ͡ϞδϡʔϧΛผͷཧ༝Ͱमਖ਼ • όάൃੜʂˠόάͷݪҼ͸Ͳͬͪͷमਖ਼ʁ

Slide 16

Slide 16 text

SLAPݪଇʢந৅ԽϨϕϧͷ౷Ұʣ(Single Level of Abstraction Principle.) • ҙຯ • ཻ౓Λ߹ΘͤΔ • ຊͷ”໨࣍”ɺ”ষ”ɺ”ஈམ” ͷΠϝʔδ • ͳͥʁ • Ͳ͜ʹԿ͕͋Δ͔ɺ • Θ͔Γ΍͍͢

Slide 17

Slide 17 text

SLAPݪଇʢந৅ԽϨϕϧͷ౷Ұݪଇʣ (Single Level of Abstraction Principle.) • ҙຯ • ཻ౓Λ߹ΘͤΔ • ຊͷ”໨࣍”ɺ”ষ”ɺ”ஈམ”ͷΠϝʔδ • ͳͥʁ • Ͳ͜ʹԿ͕͋Δ͔ɺΘ͔Γ΍͍͢

Slide 18

Slide 18 text

ڽू౓ͱ݁߹౓ • ҙຯ • ڽू͕ߴ͍ɿ੹೚ൣғ͕ಉ͡ॲཧΛҰͭͷ৔ॴʹ·ͱΊΔ • ݁߹͕௿͍ɿॲཧ͕ɺผͷॲཧʹӨڹ͕গͳ͍ • ͳͥʁ • ॲཧͷӨڹൣғ͕Θ͔Γ΍͍͢

Slide 19

Slide 19 text

KISSݪଇʢ؆ܿʹ୯७ʹʣ (Keep It Short and Simple.) • ҙຯ • γϯϓϧʹ͓ͯ͘͠ • ͳͥʁ • ຊ౰ʹ΍Γ͍ͨ͜ͱ͕Θ͔Γʹ͍͘ • ίʔυಡΈʹ͍͘

Slide 20

Slide 20 text

YAGNIݪଇʢඞཁͰ͸ͳ͍ʣ (You Aren’t Going To Need It.) • ҙຯ • ඞཁͳ΋ͷ͚ͩॻ͘ • ʮ͋ͱͰ࢖͏͔΋ʯΛॻ͔ͳ͍ • ͳͥʁ • ࢖Θͳ͍͜ͱ͕΄ͱΜͲ • ʮ͋ͬͨ΄͏͕ศརʯʹΰʔϧ͸ͳ͍ʢແݶʹ࡞ΕΔʣ

Slide 21

Slide 21 text

PIEݪଇʢҙਤΛදݱʣ (Program Intently and Expressively.) • ҙຯ • ΍Γ͍ͨ͜ͱͷҙਤΛॻ͘ • ͳͥʁ • ίʔυҎ֎ͷࢿྉ͕ɺίʔυΑΓਖ਼֬ͳ͜ͱ͸ͳ͍

Slide 22

Slide 22 text

ࢀরͷҰ఺ੑ • ҙຯ • એݴˍఆٛ͸̍ճ͚ͩ • ͳͥʁ • ஋ͷมԽΛ௥͍͔͚ͳͯ͘ྑ͘ͳΔ • ޙଓͷॲཧʹӨڹΛ༩͑ͳ͍

Slide 23

Slide 23 text

ႈ౳ੑͱ҆શੑ • ҙຯ • ෳ਺ճ࣮ߦͯ͠΋ɺ݁Ռ͕ಉ͡Ͱ͋Δ͜ͱ • ࣮ߦʹΑͬͯɺ࣮ߦର৅ͷঢ়ଶ͕มԽ͠ͳ͍͜ͱ • ͳͥʁ • ࣮ߦ͢Δॲཧͷத਎Λҙࣝ͠ͳͯ͘ྑ͘ͳΔ

Slide 24

Slide 24 text

Մٯੑ • ҙຯ • ʮ໭Δʯ͕Ͱ͖Δॲཧ • ͳͥʁ • औΓฦ͠ͷ͔ͭͳ͍͜ͱ͸͠ͳ͍΄͏͕͍͍ • ࠓͷ݁࿦͕ɺະདྷͷ݁࿦ͱಉ͡Մೳੑ͸௿͍

Slide 25

Slide 25 text

ٕज़తෛ࠴ͷ؅ཧ • ҙຯ • ΍ΉΛಘͣ”Α͘ͳ͍”ίʔυΛॻ͘ࡍʹɺॻ͍ͨ͜ͱ๨Εͳ ͍ɻ • ͳͥʁ • ෛ࠴͕͋Δ͜ͱΛ๨Εͨ࣌ʹɺฦࡁ͢Δίετ͕௓Ͷ্͕Δ

Slide 26

Slide 26 text

ςετ༰қੑ • ҙຯ • ςετΛ۱ʑ·ͰͰ͖Δ͜ͱ • ςετ࡞੒ͷίετ͕௿͍͜ͱ • ͳͥʁ • ςετ͕ͳ͍ͱมߋ͕͏·͍͔ͬͨ͘Θ͔Βͳ͍ • ςετ༰қੑ͕ͳ͍ͱɺςετΛαϘΓ͕ͪ

Slide 27

Slide 27 text

ͦͷଞͷݪଇʁ • ؔ৺ͷ෼཭ʢػೳ΍໨తͰ෼཭ʣ • ΠϯλʔϑΣʔεͱ࣮૷ͷ෼཭ʢར༻ऀ͸ΠϯλʔϑΣʔε͚ͩΘ͔Ε͹ػೳΛར༻Ͱ͖Δʣ • طଘίʔυͱಉ͡ॻ͖ํ • ڻ͖࠷খͷݪଇʢಈ࡞Λ༧ଌ͠΍͘͢ʣ • ࠷ॳ͸ύϑΥʔϚϯεΛҙࣝ͠ͳ͍ʢύϑΥʔϚϯεͷͨΊͷίʔυ͸௚ײతͰͳ͍͜ͱ͕ଟ ͍ʣ • υοΫϑʔσΟϯάʢϢʔβʔͷؾ࣋ͪʹͳΔʣ • ϥόʔμοΩϯάʢ໰୊Λ୭͔ʹઆ໌ͯ͠ΈΑ͏ʣ • ׂΕͨ૭ͷ๏ଇʢ୭͔͕ѱ͍͜ͱΛ͢ΔͱɺपΓ͸΍ͬͯ΋͍͍ͱߟ͑Δʣ • δϣγϡΞπϦʔͷ๏ଇʢ໊લΛ஌Βͳ͍΋ͷ͸ɺݟ͑ͳ͍ʣ

Slide 28

Slide 28 text

·ͱΊ • Why͕͋Ε͹ • Α͍ϓϩάϥϜ͕ॻ͚ΔΑ͏ʹʂ • ࢦఠΛཪʹ͋ΔҙਤΛਪ࡯ • ҙਤͷݩʹͳͬͨʓʓݪଇ͕͋Δ͔΋ʁ • ࢦఠͷຊ࣭ΛཧղͰ͖Δʂ • ͞Βʹɾɾɾຊ౰ʹΑ͍ϓϩάϥϜʹͳ͍ͬͯΔ͔Ͳ͏͔Λٞ࿦Ͱ͖Δ͔΋ʁ ָ͍͠ϓϩάϥϛϯάϥΠϑΛʂʂ

Slide 29

Slide 29 text

Q