비주얼 스튜디오/도전과제

1 개요

마이크로 소프트의 통합 개발 환경인 비주얼 스튜디오도전과제를 부여하는 확장기능이 발표되었다. 상용 버전이라면 무료로 설치가 가능하며(학생들은 드림스파크를 이용하자) 페이스북이나 블로그 등의 소셜 공유와 더불어 Leader Board 기능까지 지원하고 있다. 도전과제의 내용을 보면 주로 좋은 프로그램을 만들기 위해서는 하지 말아야 할 일들이다. 읽다가 웃겨서 숨못쉰다

2 도전과제 목록

도전과제는 현재 6개 카테고리 32개 과제가 지원된다.

2.1 비주얼 스튜디오 커스터마이징 (Customizing Visual Studio)

확장팩 중독자 (Extensions Junkie)
(5 points)
비주얼 스튜디오에 확장팩 5개를 설치하세요. 확장성 만세!

확장팩 중독자 디럭스 (Extensions Junkie Deluxe)
(10 points)
비주얼 스튜디오에 확장팩 10개를 설치하세요. 당신이 메뉴에서 어떻게 찾을 수 있을까요?

달라져야 해 (Gotta Be Different)
(5 points)
비주얼 스튜디오 커스텀 설정을 불러오세요. 맹세하건 데, 그들은 절대 곧바로 기본 설정을 갖지 않을 것입니다.

2.2 집에서는 이걸 시도하지 마세요(Don't Try This At Home)

변수 마스터 (Field Master)
(0 points)
하나의 클래스에 100개의 변수를 넣으세요. 복잡하군! FxCop을 사용하세요. fields라 쓰고 변수라고 읽는다

지옥에나 가라 (Go To Hell)
(0 points)
goto 키워드를 사용하세요. 음, 내가 듣기론 그것은 당신이 다시 수행하지 않을 최고의 연습이라네요. goto 문은 프로그래머의 재앙이라고 함

직업 보장 (Job Security)[1]
(0 points)
하나의 파일에서 한 글자 짜리 클래스 레벨 변수를 20개 만드세요. 당신을 복잡하게 만들어 영광입니다! FxCop을 사용하세요.

매직 넘버 (Magic Numbers)
(0 points)
30개의 변수에 enum을 쓰세요. 답이 있는데 숫자가 필요할 사람은 없겠죠! FxCop을 사용하세요. 갸아아악

오버로드 (Overload)
(5 points)
메소드를 10번 이상 오버로드 하세요. 당신은 이것과 같이 가거나 저것과 같이 갈 수 있습니다. FxCop을 사용하세요.

스크롤 바 마법사 (Scroll Bar Wizard)
(0 points)
300개의 문자를 가지는 한 줄을 작성하세요. 누구에게 캐리지 리턴[2]이 필요합니까? FxCop을 사용하세요.

내리막길의 거북 (Turtles All The Way Down)
(0 points)
10단계의 클래스 상속을 하세요. 이제 저것은 달콤한 상속입니다! FxCop을 사용하세요. 부모의 부모의 부모의 부모의...

2.3 Good Housekeeping

Regional Manager
(7 points)
Add 10 regions to a class. Your code is so readable, if I only didn't have to keep collapsing and expanding!

Using Just What I Need
(7 points)
Used 'Organize Usings' 50 times. Unused usings are evil!

2.4 단지 재미를 위해(Just For Fun)

VSA를 위한 설치와 등록(Install and Register For Visual Studio Achievements)
(5 points)
Install the add-in and register with Channel9. You are up and running!
애드인을 설치하고 채널9을 등록하세요. 당신은 작동되고 있습니다!

외로움 (Lonely)
(5 points)
Code on a Friday or Saturday night. Coding? Tonight? Ouch.
금요일이나 토요일 저녁에 코딩을 하세요. 코딩? 오늘 밤에? 이런.

강박장애 (Obsessive Compulsive Disorder (OCD))
(5 points)
Invoke the 'Close All But This' menu option 10 times. I mean, who invented those damn tabs anyway?
'이거 빼고 다 닫기' 메뉴 옵션을 10번 적용하세요. 그러니까, 애초에 누가 이딴 탭을 발명한 거죠?

지저분한 입(Potty Mouth)
(5 points)
Use 5 different curse words in a file. Wash that mouth out with soap!
파일에 5개의 욕설을 사용하세요. 그 입은 비누로 씻으시고요!

자연보호 (Save A Tree)
(5 points)
Print source code. My boss told me to. I swear!
소스코드를 프린트 하세요. 제 상사가 그러라고 했어요. 정말이에요!

2.5 Power Coder

복잡함(Complex)
(10 points)
솔루션에 50개의 프로젝트를 만드세요. 윽, 끔찍해라!

Equal Opportunist
(10 points)
Write a class with public, private, protected and internal members. It's all about scope. Uses FxCop

로컬리제이션 전문가(Localization Guru)
(10 points)
1000개의 로컬 변수를 만드세요. 꽤 괜찮은 작업이야!

거인의 어깨 위(On The Shoulders of Giants)
(10 points)
25개의 어셈블리를 참조하세요. 이봐, 넌 왜 그걸 해야하는거야?

의심(Suspicious)
(10 points)
5개의 지시문을 사용하세요. 컴파일러 명령:당신은 전혀 멋지지 않습니다!

업그레이드 할 시간(Time For An Upgrade)
(10 points)
A solution takes 10 minutes to compile. Dag, that's one enormous solution!

2.6 Unleashing Visual Studio

기획자(Architect)
(5 points)
10개의 시퀸스 다이어그램을 추가하세요. 당신은 개발자가 아닙니다. 당신은 기획자입니다! 시퀸스 다이어그램에 대해 자세히 알아보세요.

Casual Observer
(5 points)
Start a debug session using step over (F10) more than 10 times. I thank the debugger every day.

사기꾼(Cheater)
(5 points)
IntelliTrace메뉴를 10번 실행합니다. 규칙! : IntelliTrace에 대해 자세히 알아보세요.

중단 젖소(Interrupting Cow)
(5 points)
파일에서 10개의 중단점을 사용하세요. 버그는 어디있을까? 여기, 저기, 어디서나 될 수 있습니다!

성능(Performance)
(5 points)
성능도구를 10번 실행합니다! 왜 이 프로그램은 매우 느리지? 이제 알았다! 프로파일 도구를 사용하여 응용프로그램 성능분석에 대해 자세히 알아보기

시작하세요(Start Me Up)
(5 points)
3개의 스타트업 프로젝트를 만드세요. You've got a lot on your plate!

그루터기(Stubby)
(5 points)
메소드 스텁을 9번 실행하세요. You're a TDD bad ass

탐색기(The Explorer)
(5 points)
Start a debug session using step into (F11) more than 10 times. Ah, the power of F11. Every coder's best friend.

UML의 신
(5 points)
UML 클래스 다이어그램을 10개 만듭니다. Code is for sissies. 모델! 모델! 모델! Visual Studio에서 UML에 대해 자세히 알아보세요.

3 바깥고리

http://channel9.msdn.com/Blogs/C9team/Announcing-Visual-Studio-Achievements

http://channel9.msdn.com/achievements/visualstudio
  1. 다른 개발자들은 도저히 코드를 이해할 수 없어서
  2. 줄바꿈