LINUX.ORG.RU

Анлицизм или Translit в именах переменных?

 , ,


0

1

Как вы считаете как правильнее задавать названия для переменных, функций, классов, интерфейсов и т.д.? Очень часто вижу людей которые пишут например так:

Вместо:

coming = 1205
consumption = 654

Пишут:

# приход
prihod = 1205

# расход
rashod = 654

Или

class Animal:
  def habitat(self):
      speak_str = 'Hello from Animal'
      print(speak_str)

class Dog(Animal):
    pass


bark = Dog()
print(bark.habitat())
class Zhivotnye:
  def mesto_obitania(self):
      speak_str = 'Hello from Animal'
      print(speak_str)

class Sobaki(Zhivotnye):
    pass


layka = Sobaki()
print(layka.mesto_obitania())

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

Deleted

Последнее исправление: Deleted (всего исправлений: 3)

Мне кажется это общая проблема для не англоговорящих стран.

Это вообще не проблема. 99% кода иностранцами читаться не будет, поэтому называй в меру своей безграмотности.

Deleted
()

Мне кажется это общая проблема для не англоговорящих стран.

Это вообще не проблема. Если будешь показывать код, давай названия так, чтобы поняли все, на сегодня это по-английски. Завтра может быть придётся по-китайски.

Если не будешь показывать, то называй как хочешь.

vvn_black ★★★★★
()

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

lu4nik ★★★
()

Единственная проблема, на мой взгляд, что в последующем может возникнуть вопрос - как было написано, Zhivotnye или Zhivotnie (хотя автоподстава в IDE поможет). А Animals всегда будет писаться одинаково.

keir ★★
()

coming = 1205
consumption = 654

Тебе лучше писать транслитом, английский явно не для тебя.

anonymous
()

Писатели на Педоне во всей красе.

anonymous
()

Zhivotnye

Видимо, мне везёт - никогда такого не видел(разве что от институтских преподов, но там это совсем мелочи были)

anonymous
()

coming = 1205
consumption = 654

income / outcome

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

anonymous
()
Ответ на: комментарий от anonymous

Если ты серьёзно считаешь это кириллицей - у меня для тебя плохие новости. Неужели нельзя? Даже в цепепе свободно позволяет

anonymous
()
Ответ на: комментарий от anonymous

Если ты так серьёзно относишься к иронии, то для тебя новости хуже.

Неужели нельзя?

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

anonymous
()
Ответ на: комментарий от anonymous

```

class Животное:

... def место_обитания(self): ... сообщение = 'Hello from Животное' ... print(сообщение) ...

class Собакен(Животное):

... pass ...

лайка = Собакен()
print(лайка.место_обитания())

Hello from Животное None

``` Ахаха, какой-то 1С получился.

anonymous
()
Ответ на: комментарий от anonymous
>>> class Животное:
...     def место_обитания(self):
...             сообщение = 'Hello from Животное'
...             print(сообщение)
...
>>> class Собакен(Животное):
...     pass
...
>>> лайка = Собакен()
>>> print(лайка.место_обитания())
Hello from Животное
None

Ахаха, какой-то 1С получился.

anonymous
()
Ответ на: комментарий от lu4nik

Транслит даже желателен

А почему бы сразу не привыкнуть к правильным вещам? Хоть она слишком перфекционистская, но зато наши отечественные труды будут услышаны и использованы везде в мире. Какая-то книга вообще существует кстати по этому поводу? Это наверное технический английский. Но это ж общее понятие тех.английский. Должно же быть какая-то общая методика по этому направлению книги какие-то может.

Deleted
()
Ответ на: комментарий от Deleted

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

Если твои соотечественники пишут по-английски как ты, то дело плохо.

anonymous
()
Ответ на: комментарий от anonymous

Лучше уж так, чем наподобие den73

anonymous
()

rashod = 654

Да, в расход таких и пускать.

beaver
()

Вы так пишите иногда, когда не находите в своем словарном запасе английские слова?

Никогда.

Мне кажется это общая проблема для не англоговорящих стран.

Это проблема исключительно отдельных личностей.

beaver
()
Ответ на: комментарий от anonymous

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

MrClon ★★★★★
()

Вы так пишите иногда, когда не находите в своем словарном запасе английские слова?

В словарь смотрю. Но вообще редко с таким сталкиваюсь, английский-для-переменных это мягко говоря не английский Шекспира

MrClon ★★★★★
()
Ответ на: комментарий от Deleted

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

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

Если пишешь код, который будут читать разработчики (не пользователи) со всего мира, то переводи. Берешь словарь по предметной области и вперед.

При чем тут «наши отечественные труды» вообще не понял. Ты книги пишешь или код? Код с транслитерированными переменными работает не хуже аналогичного кода с англоязычными переменными.

lu4nik ★★★
()
Ответ на: комментарий от MrClon

Один знакомый в приступе перфекционизма писал научный код на питоне с греческими именами переменных (а что, прямо как по статьям!). Редактировать было ужасно.

lu4nik ★★★
()
Ответ на: комментарий от lu4nik

Не, ну ты можешь их изобрести сам, но зачем?

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

Deleted
()
Ответ на: комментарий от lu4nik

Код с транслитерированными переменными работает не хуже аналогичного кода с англоязычными переменными

Хуже. Хотя судя по вышесказанному, ты и сам это понимаешь

anonymous
()
Ответ на: комментарий от lu4nik

Зато наверняка для математика это повысило читаемость кода, и наверное фрагменты такого кода можно даже было публиковать, а не перепивать в псевдокод. А теперь вспоминанием, что код чаще читают чем пишут. Так что тем кому смешен греческий, русский или китайский, нужно просто вспомнить что под проблему бывает что создают DSL. 1C это вполне DSL.

anonymous
()
Ответ на: комментарий от Deleted

Зачем человеку из Бельгии софтина написанная под бизнес-процессы конкретной фирмы. Такие софтины никому не нужны за пределами этой самой фирмы. Допиливать их под другую фирму зачастую сложнее чем написать новую софтину.

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

MrClon ★★★★★
()

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

Но вообще не переусердствуй. Если работаешь в команде, почитай принятый в этой команде стиль кодирования. Если стиля нет - делай как тебе удобнее будет _читать_ этот код.

А уж когда кто-нибудь делает опенсорсный проект и объявляются критики в стиле «у тебя переменные не на том языке», причём ясно, что контрибутить никто из критиков не будет и не собирался — на таких критиков можно только смотреть как на говно.

hobbit ★★★★★
()
Ответ на: комментарий от MrClon

Ну ок, я просто образно говорю про джанго.

Зачем человеку из Бельгии софтина написанная под бизнес-процессы конкретной фирмы.

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

Deleted
()
Ответ на: комментарий от Deleted

Да и вообще интересно же чужой код изучать

Ну я даже не знаю. Хотя нет, знаю - сейчас на этот коммент налетят стильно-модно-молодежные специалисты(мамкины, ага) с матрами вида «это и есть работа прогера!!111»

anonymous
()

По-русски пиши, python3 вроде бы позволяет

annulen ★★★★★
()

speak_str

fraza_stroka

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

Radjah ★★★★★
()

За такое именование хочется шмальнуть автора в лицо из дробовичка.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Читается действительно нормально (но про переписывание в псевдокод спорно на самом деле, плюс в физике не все общее описание кода делают, не то что псевдокод выкладывают). Но редактировать сложно: либо копипастить, либо включать дополнительную раскладку. Это же не 1С, где всё в одной раскладке. По этой причине я (и многие другие, наверное) транслитерирую греческие (и другие) символы латиницей, как латех понимает.

lu4nik ★★★
()
Ответ на: комментарий от anonymous

А какое компилятору дело до языка названий переменных? Отладка и поддержка кода — это другое дело. Но больше похоже на то, что ТС имеет ввиду софт, написанный за раз соло или небольшой командой.

lu4nik ★★★
()
Ответ на: комментарий от Deleted

он же не будет понимать твою абракадабру на траслите

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

lu4nik ★★★
()

Пишите, как хотите

record ★★★★★
()

Транслит очень тяжело читать.

Если ты пишешь что-то для себя и уверен, что никто это читать не будет, то проще и удобнее будет использовать кириллицу.

class Собака(Животное):
    pass

лайка = Собака()
print(лайка.место_обитания)

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

Deleted
()

Поубивал бы придурков, пишущих имена переменных транслитом!

Eddy_Em ☆☆☆☆☆
()

Вы так пишите иногда

Я смотрю, у тебя и с русским языком проблема...

Eddy_Em ☆☆☆☆☆
()

пиши транслитом, все успешные феминистки в гугле так делают, даже видеопруфы есть

Harald ★★★★★
()
Ответ на: комментарий от Legioner

расход это spent, приход это earned

тоже мне учитель английского, пиши лучше на русском

anonymous
()
Ответ на: комментарий от Legioner

prihod и rashod точно так же по-русски, только с использованием цивилизованного алфавита

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.