LINQ именование Стандарта - Лямбда-выражение [дубликат]

Я не попробовал его (главным образом, потому что я никогда не думал для объединения слов "Prolog" и "NetBeans" до настоящего времени), но, кажется, существует поддержка Пролога NetBeans. Это не простой плагин, а учебное руководство, которое показывает, как добавить поддержку Пролога NetBeans.

11
задан Jeeva Subburaj 3 November 2009 в 10:33
поделиться

7 ответов

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

Описательные имена переменных очень важны для читабельности кода, но они не всегда должны описывать каждый аспект переменной . Имя типа people указывает на то, что это набор объектов person, будь то List или IEnumerable обычно не так важно для понимания что делает код, и компилятор немедленно сообщает вам, если вы пытаетесь сделать что-то совершенно не так.

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

8
ответ дан 3 December 2019 в 04:13
поделиться

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

Вам не нужно использовать x все время. Для объекта Person я бы предпочел использовать вместо него p .

Если вам нужно написать более сложное выражение, включающее фигурные скобки и точки с запятой, я бы сказал, что применяются все обычные правила именования.

t приходится использовать x все время. Для объекта Person я бы предпочел использовать вместо него p .

Если вам нужно написать более сложное выражение, включающее фигурные скобки и точки с запятой, я бы сказал, что применяются все обычные правила именования.

Приходится использовать x все время. Для объекта Person я бы предпочел использовать вместо него p .

Если вам нужно написать более сложное выражение, включающее фигурные скобки и точки с запятой, я бы сказал, что применяются все обычные правила именования. 1141187]

0
ответ дан 3 December 2019 в 04:13
поделиться

Если ваша коллекция называется как-то- человек , то очевидно, что когда вы делаете person.Where (p => p.Wither) что p - это человек. Если ваши лямбда-выражения настолько сложны, что не сразу становится очевидным, какие бы параметры вы ни использовали, тогда вам не следует использовать лямбды вообще или делать их значительно проще.

Что касается других ваших соглашений, в чем смысл использования Венгерский за то, что он назвал personName строкой? Очевидно, что имя будет строкой. А зачем нужен префикс, чтобы напоминать, что переменная локальная? Его объявление обязательно в том же методе, так что это не может быть так давно, чтобы вы уже забыли об этом. Если да, то ваши методы слишком длинные или сложные.

0
ответ дан 3 December 2019 в 04:13
поделиться

Мои лямбда-выражения используют однобуквенные аргументы, обычно это первая буква имени параметра:

  • buttons.Select (b => b .Text);

  • services.Select (s => s.Type);

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

А когда нет ' Я использую много смысла x s и y s:

  • значений.Aggregate ((x, y) => x + y);

All Я сказал, что стандарт, который я использую для лямбда-выражений, - это сначала краткость, а затем выразительность, потому что контекст помогает понять вещи (в первом примере очевидно, что b обозначает кнопку).

11
ответ дан 3 December 2019 в 04:13
поделиться

Я обычно просто использую первую букву типа, который запрашиваю, поэтому в вашем случае, поскольку он имеет тип Person, я бы сделал:

var lobjPerson = icolPerson.Where(p => p.person_id = 100);

Другой пример, если это было сказать type Автомобиль Я бы сделал:

var lobjCar = icolCar.Where(c => c.car_id = 100);

Я делаю это для скорости, однако я не думаю, что есть что-то неправильное в использовании полных имен в запросе, например, car => car.car_id

3
ответ дан 3 December 2019 в 04:13
поделиться

Правильного подхода нет вообще. Стандарт именования, как и любые другие стандарты кодирования (например, пробелы и новые строки после / перед выражениями), является соглашением внутри группы. Так что просто напишите свой код так, как вам нравится, и так, как вы должны делать это в своей компании. Но делайте это последовательно!

Я предпочитаю использовать префикс подчеркивания в именах закрытых полей. но ваш стиль (видимость + тип + имя) мне кажется похожим на цитату из старого кода WInAPI (венгерская нотация) =).

1
ответ дан 3 December 2019 в 04:13
поделиться

Я думаю, что используемый вами стандарт именования (венгерская нотация) был необходим в то время, когда отсутствовали такие высокопрофильные инструменты, как Visual Studio. Сегодня у вас есть такие технологии, как Intellisense, которые сообщают вам о большинстве ошибок, которые вы делаете с переменной при вводе, например о присвоении int строке. Итак, на сегодняшний день это не исключительная часть хороших соглашений или стандартов кодирования, как это было раньше. В наши дни большинство людей следят за оболочкой паскаля или верблюжьей оболочки. Если кто-то его использует, я думаю, что это больше из-за личных предпочтений.

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

PS: Этот комментарий не означает, что я свысока смотрю на ваше использование венгерской системы обозначений. :)

2
ответ дан 3 December 2019 в 04:13
поделиться
Другие вопросы по тегам:

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