Как я могу стать лучшим программистом C #? [закрыто]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

24
задан 3 revs, 2 users 100% 17 February 2010 в 03:05
поделиться

22 ответа

Я утверждал бы, что в какой-то момент это больше не приблизительно темы . Это - приблизительно делающий материал . Необходимо написать код, который имеют Вы, должен записать многое из него.

Люди будут часто говорить Вам находить, что некоторая нишевая проблема пытается решить при изучении нового языка, и это прекрасно подходит, но если существует приложение или функция приложения, которое Вы действительно любите использовать или действительно восхищаетесь, пытаетесь создать его (или части его) сами. Еще больше при нахождении Вашего сам удивление Эй как делает [это приложение] делает это?! Попытка создать его.

Многие Ваши проекты никогда не могут выходить в свет вне Вашего рабочего стола, но изучения, опыта, и инструменты, которые Вы будете иметь под своим поясом, будут чем-то, что можно перенести на каждый последующий проект.

Вы никогда не знаете, тем не менее, что один из тех небольших проектов хобби может закончить тем, что решил проблему для кого-то.

51
ответ дан 2 revs 17 February 2010 в 13:05
поделиться

Напишите код сами и прочитайте код, который был написан быть кем-то еще. Но, не кто-либо еще; из человека, в котором Вы уверены, что он пишет хороший, чистый, умный код.

2
ответ дан Frederik Gheysels 17 February 2010 в 13:05
поделиться
  • 1
    Кроме того, таблицы являются not' t просто физическая группировка строк - they' ре определение типа, analagous к классам в dev мире. И в том контексте, это является стандартным для именования классов и типов особенно (например, " структура определения типа person" или " класс Person"). – araqnid 11 June 2009 в 03:27

запишите хорошие модульные тесты и попытайтесь получить покрытие кода максимально высоко

2
ответ дан Vin 17 February 2010 в 13:05
поделиться
  • 1
    @araqnid - Интересные моменты. ре: Первичные ключи - я соглашаюсь, что, если Ваше соглашение состоит в том, чтобы назвать PK как имя таблицы + идентификатор тогда, схема существительного во множественном числе повреждается. Но I' m не вентилятор того соглашения. С одной стороны, таблицы с составными ключами также повреждают его. – Alan 12 June 2009 в 02:04

смотря q/a stackoverflow, c# тема. :-D

2
ответ дан Avram 17 February 2010 в 13:05
поделиться
  • 1
    Если Вы don' t хотят стандартно нормализовать Вашу базу данных that' s слишком плохо. Это будет мой стандарт независимо. – Lance Roberts 11 June 2009 в 02:31

Напишите код, многое из него. И не те пушистые небольшие программы HelloWorld-типа.

Находят или реальный проект, который интересует Вас или что-то, что Вы уже записали, что это может быть преобразовано в C# и сделать это. Только путем выполнения (и, к сожалению, делания обильных ошибок) делают мы учимся.

2
ответ дан paxdiablo 17 February 2010 в 13:05
поделиться
  • 1
    @Tapori - Предполагают, что спецификации недооценивают нечеткость действительности. Если кто-то говорит 1:m, отношения являются соответствующими, реализуйте их как присоединяющуюся таблицу (таким образом обеспечение m:m в конечном счете) вместо этого. (Очевидно, только если производительность будет в порядке.) Пример: Сегодня: " Каждый отдельный продукт в гарантийной базе данных должен быть присвоен единственному клиенту " Таким образом, Вы реализуете как внешний ключ в Таблице product: продукт. CustomerID - > Клиент. Идентификатор. Месяцы с этого времени: " Возгласы, гарантии передаваемы. Мы don' t хотят перезаписать продукт. CustomerID или фальсифицируют продукт. SerialNumber. Сделайте его many:many." – richardtallent 12 June 2009 в 08:33

С новым языком попытайтесь решить часть из Euler Проекта проблемы. Улучшение математики и кодирование в то же время!

0
ответ дан Riddari 17 February 2010 в 13:05
поделиться
  • 1
    @DavidLord у меня была эта ошибка потому что мой URL wasn' t правильно отформатированный. Я использовал URLEncoder.encode(myURL, "UTF-8"); для части моего URL, который содержал пробел, и все это подходило. – OroshiX 1 December 2016 в 23:49

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

2
ответ дан Alexander 17 February 2010 в 13:05
поделиться
  • 1
    Это похоже на высказывание " программисты должны записать хороший code" и вызов его стандарт. – cletus 11 June 2009 в 02:10

Лучший способ учиться состоит в том, чтобы на самом деле застрять в и создать некоторые прохладные приложения, веб-сайты, безотносительно. Все еще хорошая идея не отставать от различных веб-сайтов для изучения нового материала, с которым Вы, возможно, не столкнулись все же.

, Возможно, создают следующий Facebook или google :)

1
ответ дан Chez 17 February 2010 в 13:05
поделиться
  • 1
    Быть немного более точным: Я защищаю существительные во множественном числе для сильных объектов; т.е. те таблицы, строки которых могут, существуют без любых зависимостей в других таблицах. Для слабых объектов (ассоциации, подтипы, и т.д.), меньше подходят существительные во множественном числе. Глаголы, вероятно, лучше. Все это должно помочь улучшить самодокументирование и передать интенциональность дизайна. Какие виды проблемы Вы видите в DB, что упоминаете? – Alan 11 June 2009 в 02:57

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

9
ответ дан Kim Major 17 February 2010 в 13:05
поделиться
  • 1
    Хорошая идея, при запуске с нуля я вызывающе рассмотрел бы его. Однако это - длинная существующая база данных, и вряд ли иметь ее измененные соглашения (который является хорошей вещью, непротиворечивость всегда плюс), – Pondidum 11 June 2009 в 02:56
2
ответ дан 2 revs 17 February 2010 в 13:05
поделиться
  • 1
    That' s не большая часть стандарта. В стандарте был бы сказан " базы данных должны нормализованный к 3 нФ minimum" или что-то вроде того вида. – TheTXI 11 June 2009 в 02:09

Выучите другой язык и примените изученное знание к C#.

F#, Scala, Haskell - партии для выбора :)

8
ответ дан Lemmy 17 February 2010 в 13:05
поделиться
  • 1
    Я работаю с SQL Server MS. Я использую схемы, чтобы сделать это для меня. – Raj More 11 June 2009 в 04:53

практика, взгляд на проекты с открытым исходным кодом, понимает полностью, что это делает и как это делает это, особенно сложные библиотеки как насмешка платформ, ORM, и т.д.

2
ответ дан BlackTigerX 17 February 2010 в 13:05
поделиться
  • 1
    @richardtallent: Не уверенный, что Вы имеете в виду здесь " Предпочтите соединять таблицы с уровнем столбца внешний keys". можно ли уточнить? – Raj More 12 June 2009 в 05:47

Попытайтесь читать Моно исходный код для получения взгляда на то, как смотрит компилятор C#, записанный в C#. Вы узнаете так много о языке, компиляторах и архитектуре ЭВМ. Это - большое преимущество проекта с источником - можно извлечь уроки из него.

3
ответ дан MonoDude 17 February 2010 в 13:05
поделиться
  • 1
    @carl: мой наставник вбит в мою голову что a, b, c' s были плохи, плохой , ПЛОХОЙ как префиксы. таким образом, я использую то же краткое название в качестве префикса через плату. – Raj More 11 June 2009 в 05:07

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

11
ответ дан twk 17 February 2010 в 13:05
поделиться
  • 1
    :) Let' s говорят, что каждая компания имеет 10 разработчиков. Я думаю способ, которым Lance имел в виду его, мы добираемся два стандартные стили вместо 20 (и that' s, если люди don' t изменяют свой стиль кодирования на пути). – Raj More 12 June 2009 в 05:18

Посещение CodePlex.com и GitHub.com и ищет проекты с открытым исходным кодом, которым можно способствовать.

2
ответ дан JMS 17 February 2010 в 13:05
поделиться
  • 1
    Это мои стандарты. Если Вы don' t как они, у меня есть различные. – Andomar 11 June 2009 в 02:51

Не не соглашаться с людьми, которые говорят "материал записи", но одну тему, что необходимо узнать о следующем, - базовые основные принципы CLR - работы механизма, который находится позади всех этих библиотек. Хорошим ресурсом для этого является "CLR Richter Через C#".

23
ответ дан itowlson 17 February 2010 в 13:05
поделиться
  • 1
    @balabaster: вопросительные знаки и восклицательные знаки в именах таблиц и именах столбцов? я haven' t замеченный это в возрастах. я сопереживаю Вам, помощнику! – Raj More 11 June 2009 в 04:46

Получите ReSharper, сохраните все рекомендации включенными и поймите их.

6
ответ дан Lemmy 17 February 2010 в 13:05
поделиться
  • 1
    - 1 I' ve, никогда замечаемый реальная компания, которая зарегистрировала что-либо, а тем более все. We' ре ISO 9001 сертифицировано. И мы don' t документируют что-либо важное. – Andomar 11 June 2009 в 02:43

Изучите лучшие практики и разработку программного обеспечения и как применить их к C#.

Изучают Управление версиями, TDD, Доменную Управляемую Разработку, Непрерывную Интеграцию, MVC, MVP, Горстку шаблонов: фасад, фабрика, репозиторий по сравнению с активной записью, и т.д.

инструменты Learn, которые помогут Вам постараться не изобретать велосипед: Блок приложений Проверки, NHibernate, и т.д.

я нашел эту свободную электронную книгу от парней в CodeBetter несколько дней назад: текст ссылки

я не считал все это, но он похож на хорошее чтение.

4
ответ дан adolfojp 17 February 2010 в 13:05
поделиться
  • 1
    Пока Вы не входите во вкладки по сравнению с дебатами пробелов?:) – Andrew Coleson 11 June 2009 в 05:17

CLR через C # отличная книга !! помог (все еще помогает) мне хорошо разбираться в языке, также вы можете скачать книгу спецификации языка C #

0
ответ дан 28 November 2019 в 22:07
поделиться
  • Работайте в команде с лучшими программистами - устраивайтесь на работу
  • Работайте над большими проектами с открытым исходным кодом.

Я не согласен с большинством здесь людей, которые учатся, создавая вещи Просто самому - лучший способ.

2
ответ дан 28 November 2019 в 22:07
поделиться

Если вы хотите стать лучше C # (заменить его на любой другой язык), работайте с крупномасштабными приложениями, в которых есть определенные функции, которые, как вы знаете, не знаете, как реализовать их пока нет. Все простые решения, связанные с этими основными принципами работы, помогут и вам ... всегда хорошо привыкать мыслить большими взаимосвязанными зависимостями в проектах, которые заставляют вас продумывать и разрабатывать архитектуру вашего конечного продукта. заранее.

Это не особо связано с C #, но если вы хотите стать лучшим разработчиком, такого рода проекты (которые неявно включают в себя много ((c) бережливого) кодирования и тестирования и т. д.) - лучшая база для обучения.

Если ни один из клиентов не хочет «дать вам шанс» поработать над таким проектом с вашим текущим набором навыков прямо сейчас, продолжайте (или в любом случае) и начните кодировать в проекте с открытым исходным кодом и привлекайте друзей, коллег и такие места, как stackoverflow.

Будьте готовы и открыты для совершения «ошибок» (как вы могли бы судите их потом) ... потому что только с миллионом ошибок вы можете увидеть тонкий / ветреный путь между ними.

При этом, научитесь не переусердствовать и не становиться слишком перфекционистами слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

Если ни один из клиентов не хочет «дать вам шанс» поработать над таким проектом с вашим текущим набором навыков, продолжайте (или в любом случае) и начните кодировать в проекте с открытым исходным кодом и сохраните друзей, коллег и в таких местах, как stackoverflow.

Будьте готовы и открыты, чтобы делать «ошибки» (как вы могли бы судить о них впоследствии) ... потому что только с большим количеством ошибок вы видите тонкий / ветреный путь между ними.

При этом учитесь не переусердствовать и не становиться слишком перфекционистами слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

Если ни один из клиентов не хочет «дать вам шанс» поработать над таким проектом с вашим текущим набором навыков, продолжайте (или в любом случае) и начните кодировать в проекте с открытым исходным кодом и сохраните друзей, коллег и в таких местах, как stackoverflow.

Будьте готовы и открыты, чтобы делать «ошибки» (как вы могли бы судить о них впоследствии) ... потому что только с большим количеством ошибок вы видите тонкий / ветреный путь между ними.

При этом учитесь не переусердствовать и не становиться слишком перфекционистами слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

продолжайте (или в любом случае) и начните кодировать проект с открытым исходным кодом и привлеките друзей, коллег и такие места, как stackoverflow.

Будьте готовы и открыты к совершению «ошибок» (как вы могли бы впоследствии судить о них) ... потому что только с миллиардом ошибок вы видите тонкий / ветреный путь между ними.

При этом учитесь не слишком изобретать и не становиться слишком перфекционистами слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

продолжайте (или в любом случае) и начните кодировать проект с открытым исходным кодом и привлеките друзей, коллег и такие места, как stackoverflow.

Будьте готовы и открыты к совершению «ошибок» (как вы могли бы впоследствии судить о них) ... потому что только с миллиардом ошибок вы видите тонкий / ветреный путь между ними.

При этом учитесь не слишком изобретать и не становиться слишком перфекционистами слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

При этом учитесь не переусердствовать и не становиться слишком перфекционистом слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

При этом учитесь не переусердствовать и не становиться слишком перфекционистом слишком рано. Ошибки будут появляться, ошибки могут даже оставаться в конечном продукте с учетом определенных условий воздействия и т. Д., Научитесь жить с этим как инженер / разработчик.

1
ответ дан 28 November 2019 в 22:07
поделиться

Советую прочитать C# in Depth. Это глубокое погружение в C#, которое значительно улучшит ваше понимание языка. Автор, Jon Skeet, по слухам, является завсегдатаем этого сайта...

1
ответ дан 28 November 2019 в 22:07
поделиться
Другие вопросы по тегам:

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