2010-10-31 8 views
22

Pracuję dla działu badawczego w dużej firmie i używamy platformy .Net do budowania naszych prototypów (Oznacza to, że zespół produktu zawsze powiela naszą pracę, jeśli prototyp jest "użyteczny".).Potrzebuję szybkiego samouczka C# dla krótkoterminowych programistów non -Net

Zatrudniamy również stażystów do naszych projektów. Niektórzy stażyści zajmują się głównie badaniami, więc mniej kodują. W każdym razie stażyści muszą zrobić kodowanie w języku C# lub F #, jeśli potrafią. Większość z nich nie ma wcześniej żadnego doświadczenia w C#. Są to starsze klasy lub absolwenci i zazwyczaj znają niektóre języki Java i C++. Ale zazwyczaj nie otrzymali żadnego formalnego przeszkolenia w programowaniu o jakości przemysłowej.

Trudnym zadaniem jest nauczenie ich C# /. Net szybko, ponieważ powinni skupić się na swoich problemach badawczych podczas 3 lub 6 miesięcy stażu. Również oni naprawdę muszą znać dobrą praktykę C#, w przeciwnym razie baza kodów podczas ich stażu nie będzie ponownie wykorzystywana po stażu.

Mój sposób nauki C# różni się od innych (dowiedziałem F #, a następnie odczytać CLR via C# i Effective Java od deski do deski.) Więc chciałbym skonsultować doświadczony C# użytkownikom sugerują krótkoterminowe (powiedzmy, 2 lub 3 dni) C# tutorial. Wielkie dzięki!

Odpowiedz

9

Albo poproś, aby kupić lub kupić dla nich następujące dwie książki:

Essential C# 4.0 i C# 4.0 in a Nutshell

Jeśli naprawdę dbają o ich stylu, jak mówisz ty, również je dostać:

Effective C# 2nd ed.

Biorąc pod uwagę ten zestaw i zakładając, że już wiesz, jak programować w ogóle (np Java/C++), mogą uzyskać produktywny w ciągu kilku tygodni. Możesz użyć efektywnych wskazówek C#, aby pomóc w promowaniu łatwego do zarządzania kodu, przynajmniej na niskim poziomie.

4

chciałbym spojrzeć na samouczków w witrynie firmy Microsoft: C# Tutorials

1

Zapewnić im szereg prostych programów przykładowych.

Proste zastosowanie konsoli z pewnym przykładzie, wyjście danych wejściowych, String.Format, string.IsNullOrEmpty, getappconfig, typu konwersji, prostego połączenia zapytań SQL, oraz za pomocą DataTables jedna z użyciem datareader, odbicia

Kolejne kilka z serializacją XML i/lub JSON, system.text.encoding, system.text.regularexpressions, directorywachter, system.drawing, system.drawing.imaging, itp.

Inne przykłady z iTestSharp, sharpziplib, excelpackageplus, nhibernate , BouncyCastle (OpenPGP), itp.

Jeden przykład programu Jestem każdy dla Console, WinForms, usługi Windows, autoryzacja usług sieci Web. WinFormy zawierające dropdowns, pola wyboru, pola tekstowe (+ multilinii), formantu tekstu sformatowanego, widok danych, databind, widok drzewa.

Przykładowa aplikacja korzystająca z webReferences, np. ReportingService WebService. Jeden moduł HTTP (np. Blokowanie IP). Jedna przykładowa aplikacja używająca rozszerzenia SOAP (na przykład do szyfrowania).

Następnie strona ASP.NET z DropDowns, CheckBox, TreeViews i PostBacks. Również jeden przy użyciu ASP.NET MVC i AJAX zamiast WebFroms.

Przykładowa aplikacja JQuery, JQuery uploadify.

Albo jeszcze lepiej, niech jeden z tych studentów napisze zbiór prostych przykładowych programów dla tych wszystkich. Aby uzyskać dodatkowe informacje dla ucznia. Poinformuj ich, aby korzystali z Google, aby dowiedzieć się szczegółów, i stackoverflow, jeśli mają pytanie.

Inne tematy: Zdarzenia, wskaźniki funkcji (Delegaci) Interfejsy, kompilator CodeDom, LINQ, typy zerowane, właściwości, rejestr, system plików, iteratory, żądania HTTP/post, kod niebezpieczny i wskaźniki.

+0

Przykłady IMO mogą być tylko uzupełnieniem, ale nie zastępują prawdziwego wyjaśnienia. – CodesInChaos

+0

@CodeInChaos: Nie powinny wymagać objaśnień dla pętli, a jeśli tak, to innych instrukcji, itp. IMHO, jedynym problemem, który naprawdę wymaga wyjaśnienia, jest bezpieczeństwo wątków i niebezpieczny kod ze wskaźnikami. Poza tym, nie można oczekiwać, że ktoś nauczy się języka programowania tak złożonego jak C# w ciągu 3 dni, sam pomysł tego jest pobieżny i niemożliwy. Wymaga to tylko tygodnia, aby poprawnie napisać zaszyfrowaną usługę internetową, a kolejny tydzień, aby napisać instalator, który PRAWIDŁOWO ustawia permissony i generuje użytkownika, i dodaje wspomnianego użytkownika do pewnej grupy. –

+0

@CodeInChaos: Jedynym sposobem na szybkie napisanie odpowiednich programów jest dostarczenie im szkieletów, w których wystarczy tylko dodać funkcjonalność i nie trzeba się martwić o koncepcję, np. szyfrowanie w usłudze sieciowej lub to, że nie muszą pisać klasy, aby dodać użytkownika lub dodać tego użytkownika do grupy (lokalizacja nazw grupowych!). Ale tam, gdzie napotkasz na problemy, nie będą wiedzieć, co jest dozwolone w SQL i czego należy unikać ze względu na wydajność ... Jeśli zapytasz moją opinię, to powiem ci, że to bardzo zły pomysł, aby zatrudnić programistów -semestr. To nie zadziała. –

Powiązane problemy