์–ผ๋งˆ์ „์— ๋ˆ„๊ฐ€ 'private๋ณ€์ˆ˜๋Š” ์•ž์— _๋ถ™์ด๊ณ  ์ด๋Ÿฐ ๋ช…๋ช… ๊ทœ์น™๊ฐ™์€๊ฒŒ ์žˆ๋Š”๊ฑธ ์•„๋ฌด๋„ ์•ˆ์•Œ๋ ค์คฌ๋‹ค'๋ผ๋Š” ๊ธ€๋ณด๊ณ 

'์ผ๋ฐ˜์ ์ธ ์ฝ”๋”ฉ์Šคํƒ€์ผ'์ด ์–ด๋–ค๊ฑด์ง€ ๊ถ๊ธˆํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๊ฐ„๋‹จํžˆ ์ ๋Š” ๊ธ€์ž„



๋กœ์ผ“ ์˜๋Š” NASA์—๋Š” ์œ ๋ช…ํ•œ '10๋Œ€ ์ฝ”๋”ฉ ๊ทœ์น™'(The Power of 10)์ด๋ผ๋Š” ๊ฒŒ ์žˆ์Œ.

'goto๋ฌธ ์ ˆ๋Œ€ ์“ฐ์ง€ ๋งˆ๋ผ', '๋ฃจํ”„์˜ ๋์„ ๋ช…ํ™•ํžˆ ํ•ด๋ผ', '์ดˆ๊ธฐํ™” ํ›„์—๋Š” ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹นํ•˜์ง€ ๋งˆ๋ผ' ๋“ฑ๋“ฑ ์—„์ฒญ ๊น๊นํ•จ.

์™œ ๊น๊นํ•˜๋ƒ? ์šฐ์ฃผ์—์„œ๋Š” ๋ธ”๋ฃจ์Šคํฌ๋ฆฐ ๋œจ๋ฉด ์žฌ๋ถ€ํŒ…ํ•˜๋Ÿฌ ๊ฐˆ ์šฐ์ฃผ๋น„ํ–‰์‚ฌ๊ฐ€ ์—†์œผ๋‹ˆ๊นŒ. ์ฝ”๋“œ ์ค„ ์ž˜๋ชป ์ง  ๋ฒ„๊ทธ ํ•˜๋‚˜๊ฐ€ ์ˆ˜์กฐ ์›์งœ๋ฆฌ ํญ์ฃฝ๋†€์ด๋กœ ์ด์–ด์ง.



039ce307abc236a14e81d2b628f1766ce563be19

> ์žฌ๊ท€ ํ˜ธ์ถœ ๊ธˆ์ง€. ์ ˆ๋Œ€ ์•ˆ ๋จ.

> ๋ชจ๋“  ๋ฐ˜๋ณต๋ฌธ์€ ์ฆ๋ช… ๊ฐ€๋Šฅํ•œ ์ƒํ•œ(์ตœ๋Œ€ ๋ฐ˜๋ณต ํšŸ์ˆ˜)์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

> ์ดˆ๊ธฐํ™” ์ดํ›„์—๋Š” ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ธˆ์ง€.

> ํ•จ์ˆ˜ ํ•˜๋‚˜๋‹น ์ตœ๋Œ€ ์•ฝ 60์ค„.

> ํ•จ์ˆ˜๋งˆ๋‹ค ์ตœ์†Œ 2๊ฐœ์˜ assertion(๊ฒ€์ฆ ๊ตฌ๋ฌธ) ํ•„์ˆ˜.

> ๋ชจ๋“  ๋ฐ˜ํ™˜๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ๊ฒ€์‚ฌํ•ด์•ผ ํ•œ๋‹ค.

> ์ปดํŒŒ์ผ๋Ÿฌ ๊ฒฝ๊ณ ๋Š” 0๊ฐœ์—ฌ์•ผ ํ•œ๋‹ค.

> ์ •์  ๋ถ„์„์„ ๋งค์ผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๊ฑฐ๊ธฐ์„œ๋„ ๊ฒฝ๊ณ  0๊ฐœ์—ฌ์•ผ ํ•œ๋‹ค.

> ํ•จ์ˆ˜ ํฌ์ธํ„ฐ ์‚ฌ์šฉ ๊ธˆ์ง€.

> ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ๋Š” ์—„๊ฒฉํžˆ ์ œํ•œ๋œ๋‹ค.





์šฐ๋ฆฌ๊ฐ€ NASA์ฒ˜๋Ÿผ ํ™”์„ฑ์— ๋กœ๋ด‡์„ ๋ณด๋‚ด๋Š” ๊ฑด ์•„๋‹ˆ์ง€๋งŒ

๋‚ด ์ฝ”๋“œ๊ฐ€ ํ„ฐ์ง€์ง€ ์•Š์„ ์ด์œ ์ฝ”๋“œ์ธ์ง€, ์ž ์žฌ์ ์ธ ํญํƒ„์„ ์•ˆ๊ณ  ์žˆ๋Š”์ง€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Œ

๋ณดํ†ต '์ •์  ๋ถ„์„'์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š”๋ฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณด๋Š” ๋ฐฉ๋ฒ•์ž„


๊ฐค๋Ÿผ๋“ค ์œ ๋‹ˆํ‹ฐ ๋งŽ์ด ์“ฐ๋‹ˆ๊นŒ ์œ ๋‹ˆํ‹ฐ์— Visual Studio๋กœ C# ์ฝ”๋“œ ๋ณด๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๊ฒ ์Œ.

๋‹ค๋ฅธํˆด๋“ค๋„ ์ •์ ๋ถ„์„ ํˆด์€ 100%์žˆ์œผ๋‹ˆ๊นŒ ์ œ๋ฏธ๋‚˜์ด๋‚˜ ์ฑ„์ฐํ•œํ…Œ ๋ฌผ์–ด๋ณด์…ˆ


๋ณดํ†ต ์ •์ ๋ถ„์„ํ•˜๋ฉด ํˆด์„ ๊ฐ–๋‹ค๊ฐ€ ๋งŽ์ด ์“ฐ๊ธด ํ•˜๋Š”๋ฐ

์˜ค๋Š˜ ํ• ๊ฑด ๊ฐ„๋‹จํ•˜๊ฒŒ ์›๋ž˜๋„ ๋‚˜์˜ค๋˜ ๊ฒฝ๊ณ ๋ฅผ ์ตœ๊ณ ์ˆ˜์ค€์œผ๋กœ ์˜ฌ๋ฆฌ๋Š”๊ฑฐ์ž„


1. .editorconfig ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

์œ ๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ƒ๋‹จ (Assets ํด๋”๋ž‘ ๋‚˜๋ž€ํžˆ ์žˆ๋Š” ์œ„์น˜)์— .editorconfig๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋นˆ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ํ•˜๋‚˜ ๋งŒ๋“ฆ.


2. ๋ถ„์„ ๋ฃฐ ๋ชฝ๋•… ์ผœ๊ธฐ

.editorconfig ํŒŒ์ผ์„ ์—ด๊ณ  ์•„๋ž˜ ๋‚ด์šฉ์„ ๋ณต๋ถ™ํ•ด์„œ ์ €์žฅํ•จ.


root = true


[*.cs]

# ๋ชจ๋˜ ๋ฌธ๋ฒ•

dotnet_analyzer_diagnostic.category-Style.severity = warning


# ์„ฑ๋Šฅ ์ตœ์ ํ™”

dotnet_analyzer_diagnostic.category-Performance.severity = warning


# ์ž ์žฌ์  ๋ฒ„๊ทธ ๋ฐ ์„ค๊ณ„ ์˜ค๋ฅ˜ ๊ทœ์น™

dotnet_analyzer_diagnostic.category-Design.severity = warning

dotnet_analyzer_diagnostic.category-Reliability.severity = warning



3. Visual Studio์—์„œ ๊ฒฐ๊ณผ ํ™•์ธํ•˜๊ธฐ

์ด์ œ VS์—์„œ C# ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์—ด๋ฉด, ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ถ„์„๊ธฐ๊ฐ€ ๋Œ์•„๊ฐ€๊ธฐ ์‹œ์ž‘ํ•จ.



28a58168f5dc3f8650bbd58b3680726eaab192


๋ฌผ๊ฒฐ์„  ๊ฒฝ๊ณ : ๊ตฌํ˜• ๋ฌธ๋ฒ•์„, ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ฐ€๋Šฅ ์ฝ”๋“œ์— ์ดˆ๋ก์ƒ‰/๋…ธ๋ž€์ƒ‰ ๋ฐ‘์ค„์ด ๊ทธ์–ด์ง


์ „๊ตฌ ์•„์ด์ฝ˜ & ์ž๋™ ์ˆ˜์ •: ๋ฐ‘์ค„ ์นœ ๊ณณ์— ์ปค์„œ ๋‘๊ณ  Ctrl + . ๋ˆ„๋ฅด๋ฉด, "์ด ์ฝ”๋“œ๋Š” ์ด๋ ‡๊ฒŒ ๋ฐ”๊พธ๋Š” ๊ฒŒ ๋” ์ด์จ" ํ•˜๋ฉด์„œ ์•Œ์•„์„œ ์ตœ์‹  ๋ฌธ๋ฒ•์œผ๋กœ ๊ณ ์ณ์คŒ.


์˜ค๋ฅ˜ ๋ชฉ๋ก(Error List) ์ฐฝ: ํ™”๋ฉด ํ•˜๋‹จ ํƒญ์„ ์—ด์–ด๋ณด๋ฉด ๋‚ด ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ๋ฐœ๊ฒฌ๋œ ๋”๋Ÿฌ์šด ์ฝ”๋“œ ๋ฆฌ์ŠคํŠธ์™€ ์œ„๋ฐ˜ํ•œ ๋ฃฐ์„ ์ญ‰ ๋ฝ‘์•„์คŒ.


์ด๋ ‡๊ฒŒ ์„ธํŒ…ํ•ด๋‘๋ฉด ๋ฌด๊ฑฐ์šด ์™ธ๋ถ€ ํˆด์„ ๋”ฐ๋กœ ์•ˆ ๊น”์•„๋„, ์ฝ”๋“œ ์น  ๋•Œ๋งˆ๋‹ค ๋‚ด ์ฝ”๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ด์œ์ง€(ํ˜น์€ ๋”๋Ÿฌ์šด์ง€) ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ง€์ ๋‹นํ•˜๋ฉด์„œ ํ€„๋ฆฌํ‹ฐ๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Œ.


๊ทผ๋ฐ ๋ญ ์ง€์ ๋‹นํ•œ ๋ถ€๋ถ„๋“ค์ด ๋ณดํ†ต์€ ๋ง‰ ์—„์ฒญ ์ž˜๋ชป๋œ๊ฑด ์•„๋‹˜


28a5826bb49c28a8699fe8b115ef046f96b8dfd2

์˜ˆ๋ฅผ๋“ค์–ด ์ด๊ฑด ๊ทธ๋ƒฅ ์ค„์ผ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑฐ


์„ฑ๋Šฅ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ๊ฐ€๋…์„ฑ์— ๋Œ€ํ•ด์„œ๋„ ์ง€์ ์ด ๋“ค์–ด์˜ด




๊ทผ๋ฐ ์ง€๊ธˆ ๋ณด๋‹ˆ๊นŒ IDE0055๊ฐ€ ๋งŽ์ด๋œจ๋Š”๋ฐ ์ด๊ฑด ์„œ์‹๊ด€๋ จ ๊ฒฝ๊ณ ๋ผ ๋‚˜ํ•œํ… ํ•„์š” ์—†๋‹ค ํ•˜๋Š”๊ฑด ๋นผ์ฃผ๋ฉด๋จ

์•„๊นŒ .editorconfigํŒŒ์ผ ๋ฐ‘์—๋‹ค๊ฐ€


dotnet_diagnostic.IDE0055.severity = none


์ด๋ผ๋Š” ๋ผ์ธ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด๋จ

IDE0055๋Œ€์‹  ๋‹ˆ๊ฐ€ํ•„์š”์—†๋Š”๊ฑฐ ๋„ฃ์œผ๋ฉด ์ œ๊ฑฐ๊ฐ€๋Šฅ



28a58268f5dc3f8650bbd58b3687716b64bb


๊ทธ๋Ÿฌ๋ฉด ์ด๋Ÿฐ์‹์œผ๋กœ ํ•ด๋‹น ์ฝ”๋“œ๋ฒˆํ˜ธ์˜ ๊ฒฝ๊ณ ๋Š” ์ „๋ถ€ ์‚ฌ๋ผ์ง



28a58368f5dc3f8650bbd58b36837d6c9fb5


VSCode๋Š” ์ด๋Ÿฐ๋А๋‚Œ์œผ๋กœ ๋น„๊ต์  ์ง๊ด€์ ์œผ๋กœ ๋‚˜์˜ค๋Š”๋ฐ Visual Studio๋Š” ๋ณด๊ธฐ์— ์ชผ๋” ์•„์‰ฝ๊ธด ํ•˜๋„ค




๋‹ค๋“ค ์พŒ์ ํ•˜๊ฒŒ ์ด์œ ์ฝ”๋“œ ์งœ๊ธธ ๋ฐ”๋žŒ!