E D R , A S I H C RSS

Collective Ownership

ฝ”๋“œ ๊ณต๋™ †Œœ 

๋งŒ•ฝ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ด๋ž˜Šค˜ ธ„Ž˜ดŠค๋ฅผ ๋ณ€๊ฒฝ–ˆœผ๋ฉด ๋ณ€๊ฒฝ๋œ ด๋ž˜Šค๋ฅผ ‚ฌšฉ•˜๋Š” ๋ชจ๋“  ด๋ผด–ธŠธ ฝ”๋“œ—„œ ˜ค๋ฅ˜๊ฐ€ ๋ฐœƒ•  ๊ฒƒด๋‹ค. ๊ทธ๋ ‡๊ฒŒ๋˜๋ฉด ด๋ž˜Šค๋ฅผ ๋ณ€๊ฒฝ•œ ‚ฌ๋žŒด ๋ชจ๋“  ˜ค๋ฅ˜๋ฅผ ˆ˜ ••ด•ผ๋งŒ •˜๋Š”๊ฐ€, •„๋‹ˆ๋ฉด ๋จผ €(ปดŒŒผ ‹œ๊ฐ„— ˜ค๋ฅ˜๊ฐ€ ๋ฐœƒ• ๊บผ ๊ฐ™€๋ฐ) ๋ฐœ๊ฒฌ•œ ‚ฌ๋žŒด ˆ˜ ••ด•ผ •˜๋Š”๊ฐ€?

ฝ”๋“œ ปค๋ฐ‹๋œ ƒƒœ—„œ •˜๋‚˜๋ผ๋„ …ŒŠคŠธ ‹คŒจ๊ฐ€ žˆ๋‹ค๋ฉด ๋กค๋ฐ•˜๊ฐ๋‚˜, ˆ˜ ••œ๋‹ค. ๊ณ ๋กœ, ด๋ž˜Šค๋ฅผ ๋ณ€๊ฒฝ•œ ‚ฌ๋žŒด ๋ชจ๋“  ˜ค๋ฅ˜๋ฅผ ˆ˜ ••ด•ผ •œ๋‹ค. ๋งŒ•ฝ ด›„— ˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋ˆ„๊ตฌ๋“ ง€ ˆ˜ ••  ˆ˜ žˆ๊ณ , ๋˜ ๊ทธ๋ž˜•ผ •œ๋‹ค.

Šนžˆ ด๋ฏธ ๋งŽด ฝ”๋“œ๊ฐ€ ž‘„๋œ ‹œ —„œ ด๋ž˜Šค˜ ธ„Ž˜ดŠค๋ฅผ ๋ณ€๊ฒฝ•˜๋Š” ๊ฒƒ€ ๋„ˆ๋ฌด ๋งŽ€ ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”•ผ•˜๊ธฐ ๋•Œ๋ฌธ— ๊ •(๊ท€ฐฎŒ?)ด •ž„ˆ˜ žˆ๋‹ค.

Wiki:RefactorLowHangingFruit . ๊ณ ณ•ผ •  ๊ฒƒด ๋งŽ๋‹ค๋ฉด ˜คžˆ๋ ค กฐ๊ธˆ”ฉ ๊ณ น˜๋„๋ก •œ๋‹ค(๊ทธ๋ฆฌ๊ณ  ๊ณ น˜๋Š” ž‘—…„ —”ง€๋‹ˆ–ด๋ง ƒœŠคฌ๋กœ ˜น€ œ  € Šค† ๋ฆฌ๋กœ ๋ช…‹œ™”•ด„œ ๊ด€๋ฆฌ•œ๋‹ค). ๊ณ น˜๋Š” ค‘—, 5๋ถ„  •๋„˜ ๋‹จœ„๋กœ …ŒŠคŠธ๋ฅผ •ด๋ด„œ •˜๋‚˜๋„ ๋ฌธ œ๊ฐ€ —†๋„๋ก ๊ณ ณ ๋‚˜๊ฐ€•ผ •œ๋‹ค. „ฌ๊ณผ œกง€๋ฅผ —ฐ๊ฒฐ•˜๋Š” ๋‹ค๋ฆฌ๊ฐ€ žˆ„ ๋•Œ, ด๊ƒˆ ๋‹ค๋ฆฌ๋กœ ๊ตฒด•˜๋ ค๋ฉด —Œ ๋‹ค๋ฆฌ๋ฅผ ๋ถ€ˆ˜๊ณ  ƒˆ ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒด •„๋‹ˆ๊ณ , ƒˆ ๋‹ค๋ฆฌ๋ฅผ ๋งŒ๋“  ๋‹คŒ —Œ ๋‹ค๋ฆฌ๋ฅผ ๋ถ€ˆ˜–ด•ผ •˜๋Š” ๊ฒƒด๋‹ค. ~cpp formatText(String data)„ ~cpp formatText(String data,boolean shouldBeVeryFancy)๋กœ ๋ฐ”๊พธ–ด•ผ •œ๋‹ค๋ฉด, ~cpp fancibleFormatText๋ฅผ ๋งŒ๋“ค๊ณ , ๊ธฐกด˜ ~cpp formatText๋ฅผ ˜ธถœ•˜๋Š” ๊ณณ„ ~cpp fancibleFormatText(data,false)๋กœ •˜๋‚˜”ฉ ๋ฐ”๊ฟ”๋‚˜๊ฐ€๋ฉด„œ ๊ณ„† …ŒŠคŠธ๋ฅผ ๋Œ๋ ค๋ณด๋ฉด ๋œ๋‹ค. ด๊ฒŒ ™„ „žˆ ๋‹ค ๋˜—ˆ๋‹ค๊ณ  ƒ๊ฐด ๋“ค๋ฉด ~cpp formatText  •˜๋ฅผ ง€›Œ๋ณธ๋‹ค. ๋ฌธ œ๊ฐ€ —†œผ๋ฉด ~cpp fancibleFormatText๋ฅผ ~cpp formatText๋กœ rename method ๋ฆฌŒฉ† ๋ง„ •ดค€๋‹ค. •˜ง€๋งŒ ๋งŒ•ฝ ด ž‘—…ด ๋„ˆ๋ฌด ๋‹จˆœ ๋ฐ˜๋ณต ธ ๊ฒฝšฐ—, ถฉ๋ถ„žˆ šฉ๊ธฐ๊ฐ€ ƒ๊ธฐ๊ณ , ๋˜ ™•‹ ด ๋“ค๋ฉด ด ž‘—…„ ž๋™™”•  ˆ˜ žˆ๋‹ค(OAOO). ˜ˆปจ๋Œ€ IDE—„œ ง€›•˜๋Š” ž๋™ ๋ฆฌŒฉ† ๋ง„ ‚ฌšฉ•˜๊ฐ๋‚˜,  •๊ทœ‹„ †ต•œ ๋ฐ”๊พธ๊ธฐ(replace) ๊ธฐ๋Šฅ„ “ฐ๊ฐ๋‚˜, •ด๋‹น –ธ–ด ŒŒ„œ๋ฅผ ดšฉ•˜๋Š” ๊ฐ„๋‹จ•œ Šคฌ๋ฆฝŠธ๋ฅผ ž‘„•ด„œ “ฐ๋Š” ๋ฐฉ๋ฒ• ๋“ด žˆ๋‹ค. ด๋ ‡๊ฒŒ ฐ ๊Œ„ ๋””๋””๋Š” ๊ฒฝšฐ—๋Š” ž๋™™” …ŒŠคŠธ๊ฐ€ •„ˆ˜ ด๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋งŒ•ฝ …ŒŠคŠธ ฃผ๋„  ๊ฐœ๋ฐœ„  œ๋Œ€๋กœ ๋ชป•˜๊ณ /•ˆ•˜๊ณ  žˆ๋‹ค๋ฉด?

ผ๋‹จ ๋ฆฌŒฉ† ๋ง„ •„š”๋กœ •˜๋Š” ๋ถ€๋ถ„„ •œ ••˜๊ณ , ๊ทธ ฃผœ„— …ŒŠคŠธ ”„๋กœ๊ทธ๋žจ„ กฐ๊ธˆ”ฉ ๋ถ™—ฌ ๋‚˜๊ฐ€•ผ •œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌŒฉ† ๋ง„ •œ๋‹ค. ๊ฐ„˜น ปดŒŒผ๋Ÿฌ๋ฅผ …ŒŠคŠธ ”„๋กœ๊ทธ๋žจœผ๋กœ —ฌ๊ธฐ๋Š” •ฝ๊ฐ„€ œ„—˜•œ ๋ฐฉ๋ฒ•๋„ žˆ๋‹ค. see also Wiki:RefactoringLegacyCode

Contributors: JuNe, 1002, Benghun, sun

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:57
Processing time 0.0204 sec