수업을 만들고 간단한 것들 (GUI, 텍스트 파일 읽기, 등)을 할 수있을 때, 여기에서 나는 어디로 가야합니까? 나는 Code Complete 2nd Edition을 읽기 시작했는데 이것은 훌륭한 프로그래밍 프로그래밍 책이다. 다음 주제는 무엇입니까?더 나은 C# 프로그래머가 되려면 어떻게해야합니까?
답변
나는 언젠가는 더 이상 주제가이 아니라고 주장합니다. 약 약 일을합니다. 코드를 작성해야합니다. 많은 것을 작성해야합니다.
사람들은 종종 새로운 언어를 배울 때 어떤 틈새 문제를 찾으라고 말합니다.하지만 그 언어는 완벽하게 훌륭하지만 실제로 사용하거나 정말로 감탄하는 응용 프로그램이나 응용 프로그램 기능이있는 경우 빌드를 시도하십시오 그것 (또는 그것의 부분) 너 자신. 심지어 더 이상, 자기가 궁금해 할 때 이봐, [이 응용 프로그램]은 어떻게합니까 ?! 빌드를 시도하십시오.
귀하의 프로젝트 중 많은 부분이 데스크톱에서 벗어난 빛을 보지 못할 수도 있지만, 배우고 경험하게 될 도구는 앞으로의 각 프로젝트로 이어질 수 있습니다.
작은 취미 프로젝트 중 하나가 누군가를 위해 문제를 해결할 수도 있습니다.
데스크톱 RSS 리더를 작성하십시오. 여러 영역 (파일, 그래픽 응용 프로그램, HTTP, 인터넷 박편)을 분석하면 실제로 결과를 매일 사용할 수 있습니다. 특정 목표 또는 기능을 선택하면 추상보다 더 빨리 익힐 수 있습니다.
나는 첫 번째 대답과 함께 이것을 할 것이라고 생각한다. 감사! – Kredns
이것은 좋은 연습입니다. 나는 야간 학교에서 자바로 이것을했고, 그것으로부터 많은 것을 배웠다. –
코드를 많이 작성하십시오. 그리고 그 푹신한 작은 HelloWorld 타입의 프로그램이 아닙니다.
관심이있는 실제 프로젝트 또는 이미 작성한 C#으로 변환 할 수있는 프로젝트를 찾아서 수행하십시오. 불행히도 (그리고 불행히도, 많은 실수를 저지르기 만하면) 우리는 배웁니다.
"글쓰기"라고 말하는 사람들과 동의하지 말고 다음에 알아야 할 주제는 CLR의 근본적인 기본 사항입니다.이 모든 라이브러리의 뒷 부분에있는 엔진의 작동 방식입니다. 이것에 대한 좋은 자료는 Richter의 "CLR Via C#"입니다.
오, 예, 그 책은 굉장합니다! 모든 .NET 코더가이를 읽어야합니다. –
연습, 그것은하지 완전히 이해, 오픈 소스 프로젝트를보고는 등 조롱 프레임 워크, ORM,처럼, 특히 복잡한 라이브러리를 어떻게하는지
다른 언어를 배우고 C 번호에 배운 지식을 적용 할 수 있습니다.
F 번호, 스칼라, 하스켈 - 많은,
이것은 투표에서 제외되었지만 이것이 다음 단계는 아니지만 제안에 많은 장점이 있습니다. 다른 언어의 기초를 배우는 것만으로도 (파이썬과 스키마로갔습니다) 기본 언어로 문제를 접근 할 수있는 새로운 방법을 제공합니다. –
하는 ReSharper에서 가져 오기 : 선택 가능 모든 권고를 유지하고 그들을 이해합니다.
나는 지금까지 대부분의 답변에 동의하지만, 개발자로서 향상시키고 자한다면 솔로를 사용하지 않으면 많은 이점을 얻을 수 있다고 생각합니다. 당신을 코치 할 수있는 사람을 찾으십시오. 수년 동안 나는 더 똑똑하고 경험이 풍부한 프로그래머들과 팀을 이루어 이해의 폭을 넓혔습니다. (그들은 여전히 :-))
CodePlex.com 및 GitHub.com을 방문하고 기여할 수있는 오픈 소스 프로젝트를 찾으십시오.
q/a stackoverflow, C# topic을 (를) 찾고 있습니다.:-D
배우는 가장 좋은 방법은 실제로 들러 붙어서 멋진 앱, 웹 사이트 등을 만드는 것입니다. 다양한 웹 사이트를 따라 가면서 새로운 물건을 배우는 것이 여전히 좋은 생각입니다.
어쩌면 다음 페이스 북을 만들거나 새로운 언어로 :)
구글의 Project Euler 몇 가지 문제를 해결하려고합니다. 수학 향상 및 코딩 동시에!
모든 정직한면에서 이것은 개발자로서 당신을 향상시키는 데는 거의 도움이되지 않습니다. 대학 이래로 나는 이제까지 아마 10 개의 알고리즘 만 작성해야했습니다. 실제 개발은 일반적으로 수학 문제를 푸는 것이 아니라 사용자 문제를 해결하는 것보다 적습니다. –
좋은 방법은 여러 회원 (친구 일 가능성이 있음)이있는 소규모 프로젝트에 참여하는 것이므로 서로에게서 배우고 다른 사람들이 자신의 일을 어떻게 수행하는지 확인할 수 있습니다.
- 읽기 코드
- 코드를 작성
- 테스트 코드
- 읽기 책 (some suggestions가), 등 블로그
- 이 반복
좋은 단위 테스트를 작성하고 코드를 얻으려고 가능 한 한 높은 적용 범위
코드 작성 elf를 읽고 다른 사람이 작성한 코드를 읽으십시오. 그러나 다른 누구도 아닙니다. 그가 훌륭한, 깨끗하고 스마트 한 코드를 작성했다고 확신하는 사람의
C#으로 작성된 C# 컴파일러의 모습을 보려면 모노 소스 코드를 읽어보십시오. 언어, 컴파일러 및 컴퓨터 아키텍처에 대해 많은 것을 배우게됩니다. 이것은 근원을 가진 프로젝트의 큰 이점입니다 - 당신은 그것으로부터 배울 수 있습니다.
모범 사례 및 소프트웨어 엔지니어링을 배우고 C#에 적용하는 방법에 대해 알아보십시오.
버전 제어, TDD, 도메인 기반 개발은 지속적인 통합은, MVC, MVP, 패턴의 소수 알아보기 : 외관, 공장, 저장소 대 활동 기록 등
당신이 재발 방지하는 데 도움이되는 도구 알아보기 바퀴 : 검증 응용 프로그램 블록, NHibernate에 등
나는 며칠 전 CodeBetter에서 사람에서이 무료 전자 책을 발견 link text
나는 그것 모두를 읽지 못했어요하지만 모습 좋은 읽을 거리. 더 나은 프로그래머와 팀에서
- 일은 - 대형 오픈 소스 프로젝트에
- 일 고용 얻을.
나는 혼자서 물건을 만들어서 배우는 것이 가장 좋은 방법이라고 여기는 대부분의 사람들이 동의하지 않습니다.
절대적으로 사실 ... 팀웍은 코딩 원칙/방법론에 대한 다른 관점과 통찰력을 얻으려는 위대한 자원입니다. 실제 현실에서는 대규모 프로젝트가 거의 유일한 사람 군이 아닙니다. –
CLR via C# 위대한 책!(여전히 도움이) 나도 언어를 이해하고 C# 언어 사양 서적을 다운로드 할 수 있습니다.
더 나은 C# (다른 언어로 대체)이 되려면 대규모 응용 프로그램에서 작동해야합니다. 당신이 당신이 그 (것)들을 깨닫는 방법을 전혀 알지 못한다는 것을 당신이 안다는 것을 그것의 "필수품"에 특정 특징, 아직. 이러한 핵심적인 '너트 - 균열'을 둘러싼 모든 쉬운 것들이 도움이 될 것입니다. 최종 제품의 아키텍처를 생각하고 레이아웃하도록 강요하는 프로젝트에서 크고 짜여진 의존성을 생각할 때 항상 익숙해지는 것이 좋습니다 선행.
이것은 특히 C#과 관련이 없지만 더 나은 개발자가되기를 원한다면 (암시 적으로 많은 양의 코딩과 테스트 등을 포함하는) 이런 종류의 프로젝트가 최상의 학습 근거가됩니다.
아직 고객이 현재 기술이있는 프로젝트에서 '당신에게 기회를 제공'하고 싶지 않은 경우, 진행 (또는 어떤 경우)하고 오픈 소스 프로젝트에서 코딩을 시작하고 친구, 동료 및 stackoverflow 관련 장소.
gazillion 오류만으로 그들 사이에 슬림/바람이 부는 길을 볼 수 있기 때문에 '오류'(나중에 판단 할 수 있음)를 준비하고 열어 두십시오.
말하자면, 지나치게 기술자가 아니거나 너무 빨리 완벽 주의자가되는 법을 배우십시오. 버그가 만들어지며 버그가 특정 영향 조건을 고려하여 최종 제품에 남아있을 수도 있으며 엔지니어/개발자로서 함께 생활하는 법을 배웁니다.
추천 단어 C#의 깊이. C#으로 깊숙이 들어가서 언어에 대한 이해를 크게 높여줍니다. 저자 인 Jon Skeet은이 사이트의 lurker로 소문이났습니다.
이 답변의 또 다른 측면은 소매를 감아 서 물건을 만들면 * 연습 할 수 있다는 것입니다. *. 인생의 다른 모든 것들처럼, 당신이할수록 더 자연스럽게 당신에게옵니다. 지난 번에 어려움을 겪은 것은 다음 번에 산들 바람입니다. –
인터넷 브라우저를 만들 생각입니다. (농담) – Kredns
+1 학습을 통해, 그리고 다른 일을 많이하고, 당신에게 프로그래밍 쿵푸 개선을위한 최상의 노출을 얻을 것이다. –