Я не попробовал его (главным образом, потому что я никогда не думал для объединения слов "Prolog" и "NetBeans" до настоящего времени), но, кажется, существует поддержка Пролога NetBeans. Это не простой плагин, а учебное руководство, которое показывает, как добавить поддержку Пролога NetBeans.
Я много программировал на VBScript (ASP), и поэтому использование венгерской нотации для отслеживания типа данных было критически важным для поддержания разумности. В типобезопасном языке, таком как C #, я вообще не вижу смысла использовать венгерскую нотацию таким образом.
Описательные имена переменных очень важны для читабельности кода, но они не всегда должны описывать каждый аспект переменной . Имя типа people
указывает на то, что это набор объектов person, будь то List
или IEnumerable
обычно не так важно для понимания что делает код, и компилятор немедленно сообщает вам, если вы пытаетесь сделать что-то совершенно не так.
Я часто использую однобуквенные имена переменных, где область действия переменной очень ограничена. Например, индексная переменная i
в небольшом цикле или в лямбда-выражениях.
Пока ваше лямбда-выражение представляет собой только один оператор, я бы хотел, чтобы имя переменной было как можно короче. Общая цель именования - сделать код читабельным, и в этих случаях должно быть достаточно имени метода и общего контекста.
Вам не нужно использовать x
все время. Для объекта Person я бы предпочел использовать вместо него p
.
Если вам нужно написать более сложное выражение, включающее фигурные скобки и точки с запятой, я бы сказал, что применяются все обычные правила именования.
t приходится использовать x
все время. Для объекта Person я бы предпочел использовать вместо него p
.
Если вам нужно написать более сложное выражение, включающее фигурные скобки и точки с запятой, я бы сказал, что применяются все обычные правила именования.
Приходится использовать x
все время. Для объекта Person я бы предпочел использовать вместо него p
.
Если вам нужно написать более сложное выражение, включающее фигурные скобки и точки с запятой, я бы сказал, что применяются все обычные правила именования. 1141187]
Если ваша коллекция называется как-то- человек
, то очевидно, что когда вы делаете person.Where (p => p.Wither)
что p
- это человек. Если ваши лямбда-выражения настолько сложны, что не сразу становится очевидным, какие бы параметры вы ни использовали, тогда вам не следует использовать лямбды вообще или делать их значительно проще.
Что касается других ваших соглашений, в чем смысл использования Венгерский за то, что он назвал personName
строкой? Очевидно, что имя будет строкой. А зачем нужен префикс, чтобы напоминать, что переменная локальная? Его объявление обязательно в том же методе, так что это не может быть так давно, чтобы вы уже забыли об этом. Если да, то ваши методы слишком длинные или сложные.
Мои лямбда-выражения используют однобуквенные аргументы, обычно это первая буква имени параметра:
buttons.Select (b => b .Text);
services.Select (s => s.Type);
Но иногда я добавляю еще несколько букв, чтобы прояснить ситуацию или устранить неоднозначность между двумя параметрами.
А когда нет ' Я использую много смысла x
s и y
s:
значений.Aggregate ((x, y) => x + y);
All Я сказал, что стандарт, который я использую для лямбда-выражений, - это сначала краткость, а затем выразительность, потому что контекст помогает понять вещи (в первом примере очевидно, что b
обозначает кнопку).
Я обычно просто использую первую букву типа, который запрашиваю, поэтому в вашем случае, поскольку он имеет тип Person, я бы сделал:
var lobjPerson = icolPerson.Where(p => p.person_id = 100);
Другой пример, если это было сказать type Автомобиль
Я бы сделал:
var lobjCar = icolCar.Where(c => c.car_id = 100);
Я делаю это для скорости, однако я не думаю, что есть что-то неправильное в использовании полных имен в запросе, например, car => car.car_id
Правильного подхода нет вообще. Стандарт именования, как и любые другие стандарты кодирования (например, пробелы и новые строки после / перед выражениями), является соглашением внутри группы. Так что просто напишите свой код так, как вам нравится, и так, как вы должны делать это в своей компании. Но делайте это последовательно!
Я предпочитаю использовать префикс подчеркивания в именах закрытых полей. но ваш стиль (видимость + тип + имя) мне кажется похожим на цитату из старого кода WInAPI (венгерская нотация) =).
Я думаю, что используемый вами стандарт именования (венгерская нотация) был необходим в то время, когда отсутствовали такие высокопрофильные инструменты, как Visual Studio. Сегодня у вас есть такие технологии, как Intellisense, которые сообщают вам о большинстве ошибок, которые вы делаете с переменной при вводе, например о присвоении int строке. Итак, на сегодняшний день это не исключительная часть хороших соглашений или стандартов кодирования, как это было раньше. В наши дни большинство людей следят за оболочкой паскаля или верблюжьей оболочки. Если кто-то его использует, я думаю, что это больше из-за личных предпочтений.
При этом, в зависимости от того, как вы кодируете и называете свои переменные, вам следует вместо этого следовать второму подходу. Опять же, это зависит от ваших личных предпочтений.
PS: Этот комментарий не означает, что я свысока смотрю на ваше использование венгерской системы обозначений. :)