Каково минимальное знание CLR, программисту.NET, должно быть, придется быть хорошим программистом?

В OSX установите скрипт переименования из Homebrew:

brew install rename

. Тогда вы можете сделать это очень смешно:

rename -e 's/.*/$N.jpg/' *.jpg

Или добавить красивый префикс:

rename -e 's/.*/photo-$N.jpg/' *.jpg
16
задан 8 revs, 2 users 100% 13 January 2009 в 22:55
поделиться

7 ответов

Большинство из них намного глубже, чем то, на что многие разработчики упали в моем опыте. Большинство неправильно понятых (и важных) аспектов в моем опыте:

  • Типы значений и ссылочные типы
  • Переменные и объекты
  • Передача по ссылкам против передачи по значению
  • Делегаты и события
  • Различение между языком, средой выполнения и структурой
  • Бокс
  • Сборка мусора

На «переменные против объектов» спереди, вот три утверждения о коде

string x = "hello";
  • (очень плохо) x - строка из 5 букв
  • (чуть лучше) x - ссылка на строку из 5 букв
  • (исправить) Значение x является ссылкой на строку из 5 букв

Очевидно, что первые два в порядке в «случайном» разговоре , но только если все участники понимают реальную ситуацию.

32
ответ дан 30 November 2019 в 16:14
поделиться

Обновленный: чтение соответствующих частей книжного CLR через C# Jeffrey Richter.. эта книга может быть хорошей ссылкой..

4
ответ дан 30 November 2019 в 16:14
поделиться

великий программист не может быть измерен количеством вещей, которые он знает о CLR. Конечно, это хорошее начало, но он также должен знать OOP / D / A и много других вещей, таких как шаблоны проектирования, лучшие практики, концепции O / RM и т. Д.

На самом деле я бы сказал, что «великому программисту .Net» не нужно вообще много знать о CLR, если он обладает большими знаниями в области общей теории и концепций программирования ...

Я бы предпочел нанять «великого разработчика Java» с большими общими знаниями и опытом в Java для работы .Net, чем «мастера» в .Net, у которого мало опыта и который думает, что O / RM - это биржевой тикер и хранимые процедуры. отличный способ "абстрагировать базу данных" ...

Я видел профессиональных учителей в .Net, совершенно не в состоянии делать действительно простые вещи, не ломая их спины из-за отсутствия «общих знаний», в то время как они в то же время «знают все», что нужно знать о .Net и CLR ...

4
ответ дан 30 November 2019 в 16:14
поделиться

Должен знать об управлении памятью, Делегаты

1
ответ дан 30 November 2019 в 16:14
поделиться

Ответ Jon, кажется, довольно завершен мне (плюс делегаты), но я думаю, что существенно отделяется, хороший программист от среднего отвечает почему вопросы, а не как. Замечательно знать, как работают сборки "мусора" и как типы значения и работа ссылочных типов, но это - целый другой уровень для понимания, когда использовать тип значения по сравнению со ссылочным типом. Вот в чем разница между разговором на языке по сравнению с тем, чтобы произносить речь на языке (это - все о том, как мы применяем знание, которое мы имеем и как мы приходим к тем решениям).

1
ответ дан 30 November 2019 в 16:14
поделиться

Ответ Jon хорош. Те - все довольно основные, но важные области, из которых у большого количества разработчиков нет хорошего понимания. Я думаю, зная, что различие между значением и ссылочными типами соединяется к основному пониманию того, как GC в.NET ведет себя, но что еще более важно, хорошее понимание Расположить шаблона важно.

Остальная часть областей, которые Вы упоминаете, является или очень глубокими знаниями о самом CLR или более усовершенствованными понятиями, которые (еще) широко не используются. [.NET 4.0 начнет изменять часть этого с введением параллельных расширений и MEF.]

0
ответ дан 30 November 2019 в 16:14
поделиться

Одна вещь, которую может быть действительно сложно понять, это отсроченное исполнение и лайки.

Как вы объясните, как работает метод, который возвращает IEnumerable? Что на самом деле делает делегат? такие вещи.

0
ответ дан 30 November 2019 в 16:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: