Pull to refresh

Comments 42

Тогда уж «Программирование в стиле Толкиена»
Мне кажется, для иностранцев, два десятка наших уменьшительно-ласкательных вариантов одного имени, сокращений, вариантов с префиксами и суффиксами — покруче Толкиена будут.
Согласен. Кстати о Лёше:

«Алексейка, Алёха, Лёха, Алёша, Лёша, Алёня, Лёня, Алёка, Лёка, Лёля, Аля, Алюня, Лексейка, Лекса, Лёкса.»

И то этот список неполный)
Вы кажется совсем не различаете два абсолютно разных имени. Ну понимаю Александр — с которым Алексей на греческом (если не ошибаюсь) почти синонимы. Но Леонид…

Кстати, в списке выше есть сокращения от Леонид, за что иногда стукнуть охота, когда тебя называют чужим именем. (=
trikadin не различает Алексея от Леонида, а мне минусы.
Значит я как и многие не понял ваш комментарий (= извините (=
Как ни странно, да. Мой дед — Алексей, но всю жизнь моя бабушка звала его Лёня. А так как я с самого детства слышал это обращение, оно мне даже странным не казалось.
Теперь хоть буду знать, как представляться при знакомстве.
Как-то так:
var value = RandomEnumValue<Names> ();


static readonly Random _Random = new Random();

static T RandomEnumValue<T> ()
{
    return enum
        .GetValues (typeof (T))
        .Cast<T> ()
        .OrderBy (x => _Random.Next())
        .FirstOrDefault ();
}

public enum Names 
{
    Алексейка,
    Алёха,
    Лёха,
    Алёша,
    // ...
}
«У меня много имён в разных странах. Митрандир среди эльфов, Таркун среди гномов; в юности на давно забытом Западе я был Олорином, на юге — Инканус, на севере — Гэндальф, а на востоке я не бываю» Толкиен — Властелин Колец
Но такое характерно отнюдь не для всех тамошних персонажей. Я бы даже сказал, для меньшинства.
Зато это меньшинство самое колоритное — Саурон, Саруман, Гэндальф, все валары и вообще все эльфы. У гномов — прозвища, как например Торин Дубощит ( Oakenshield ), ну и некоторые особенно напыщенные люди, вроде Арагорна, которому имена давал каждый второй, там и Элессар и Бродяга ( Strider но в разных переводах было по-разному ) и даже Эомер как-то подарил ему имя Летящий.
Мелькора переименовали в Моргота… Имладрис и Ривенделл — два имена одного места.
Нет, ну Вы так пишете, будто это какая-то исключительная особенность мира Толкина. В «Саге о Копье» то же самое. Тем более у Муркока.
По-моему мнению, когда все элементы одной сущности (переменная, поле, лейбл, etc) имеют одно и то же название — это тоже не слишком хорошо. Потому что некоторые системы позволяют автоматически «связывать» одноименные, например, переменные и поля — в этом случае они действительно (пардон за тавтологию) должны быть одноименными. Однако, если «связывание» в той же системе происходит вручную, то было бы неплохо, чтобы имена немного отличались, что указывало бы на факт «ручного связывания». Опять таки, некоторые системы *оставим обсуждение их качества в стороне) могут выдавать фразы типа «Error in foo», и попробуй разберись где произошла ошибка: в классе, синтаксическая ошибка в файле или вообще проект неправильно настроен. Так что мне кажется, что хорошим тоном при существовании одноименных объектов при «ручном связывании» было бы указывать тип объекта в его названии, например, varAddressField, entryAddressField, lblAddressField.
Давайте абстрагируемся. Одна и таже сущность должна называться одиноково везде, потому, что это одна и та же сущность.
Label и Field это тоже сущности, которые нельзя объединять в одно, поэтому и указывается общая сущность, а затем частная.
Ничегонепонимаю. Приведите пример, пожалуйста.
У меня в коде нет ни одной переменной address_field и address_label
Вообще нет переменных с _field и _label.
label(:address) есть, field(:address) есть.
Это называется «Программирование по соглашению».
Есть такое. Бороться надо — но тяжело, ибо это ресурсы и внезапные баги из-за «ну какого хрена? кто придумал переименовать? у меня на него скрипт завязан был».
да уж… как только пароли не называли по ходу проекта (не все в одном): p, pas, pwd, pass, pswd, passw, password… или com, comm, comment, coment, comments…
//comment, comments…

Стараюсь (по возможности) например массив называть во множественном числе, а при переборе foreach'ем/for'ом — конкретный элемент в единственном числе. Пользительно, помогает потом разбираться :) А так да, есть такое, надо искоренять…
Comment и comments — допустимо, т.к. в первом случае это объект, а во втором — коллекция объектов
это понятно, так я тоже называю, но выше я имел ввиду одну и туже переменную (поле в форме/базе).
Ну тут нужно включать мозг. Поле комментариев comment(s), в зависимости от того, что там хранится, по-русски мы же говорим комментарИИ и комментариЙ. Для паролей помоему даже pwd не очень допустимо. Как в строй поговорке: «Программа должна быть написана так, чтобы ее понимали люди и, только иногда, машины.» По-моему этому правилу необходимо следовать всегда, иначе, иной раз даже после выходных будет трудно разобраться, что было написано в пятницу вечером, тем более если это будет читать другой человек или, не дай бог, дебажить.
UFO just landed and posted this here
Главное чтобы не появился садовник =)
Для того, чтоб искоренить подобное нужна «всего лишь» воля тимлида. Чтоб на каждое «да ну… Это ж пересобирать потом всё… потом, и так работает» отвечать «сдесь и сейчас»
Не хотелось бы Вас обижать, но я бы не доверил человеку, который пишет: «сдесь», переименовывать переменные.
У вас в компании главное задание на собеседовании — диктант? :)
Нет, но переменные с орфографическими ошибками (особенно грубыми) обнаружить будет ещё сложнее, чем просто по-разному именованные.
Хуже переменных с ошибками, может быть только их правильное написание в другом месте в нестрогих языках.
Картинка для привлечения внимания хороша :-)
Надо только ярлык на оперу поменять а папку переименовать в Safari и вообще красота будет:)
Ни о чём.

Такие вещи решаются введением «словаря» продукта, ещё на стадии проектирования. Ну и конечно использование его программистами и тестировщиками, создание багов в том числе на применение сторонних терминов вместо утверждённых.
Когда я задумываюсь над тем, как назвать сущность, я исхожу из ее смысла в рамках уровня абстракции этой сущности.
И по факту смысл сущностей которые вам кажутся одними и теми же — может быть очень разными.

Например конечный испольняемый файл возможно удобно назвать маркетинговым названием или каким нибудь простым, если это утилита sdk. А вот проект из исхоников, который его компилирует, например назвать trololo.GUI. Ну или как то исходя из его смысла в рамках данного контекста.

Я вам больше скажу — даже Карамазов — которого люди называли по разному был совершенно разным человеком, для окружающих. И Леша и Алексей Карамазовы — это совершенно разные люди в рамках кроугов знакомств, тех кто его так называет.
С какой то точки зрения это один человек да. Ну и ладно — он сам знает как его могут назвать — держит в уме карту этих названий. Тоже самое и с кодом. Как правило реальные возникающии задачи заставляют работать с сущностью только на одном уровне абстракции. И называть ее будет удобно так, что бы был понятен ее смысл именно в этом окружении.
UFO just landed and posted this here
Что это Вы такое открыли?
Он открыл оперой файл из кэша эксплорера.
Sign up to leave a comment.