Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Переменные, классы, русскими литерами ? (http://www.flasher.ru/forum/showthread.php?t=151895)

vitalik14 08.03.2011 00:09

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

Это как стрельнуть в африканское племя, а там в ответ, русским матом ответ))

wvxvw 08.03.2011 00:20

Разница есть, очень незначительная, строки все-таки в юникодах, т.е. на кириллицу будет по 2 байта вместо одного. Но это менее принципиально, чем то, что, если чесно, я и описание ошибок на русском не очень понимаю, да и справку читать по-русски иногда очень напряжно (недавно смотерл "Пи", фильм в смысле, и там переводчик смело так пару раз повторил "Нажать ретурн"). Т.е. я бы не делал так... ну тем более не в моей ситуации :)

Gaen 08.03.2011 00:22

1. Требуется переключать раскладку
2. На русском языке сложнее придумать универсальное и лаконичное название функции/переменной
3. Представьте, что ваш код будет поддерживать американец, который русские буквы даже набрать не сможет без установки языкового пакета. Ну и конечно про слепой набор ему придется забыть.

vitalik14 08.03.2011 01:09

Цитата:

Разница есть, очень незначительная, строки все-таки в юникодах, т.е. на кириллицу будет по 2 байта вместо одного.
Согласен первая мысль моя была такой) но почему производительность не отвечает логичностью, вроде как бы 2 мешка тежелее одного и скорость должна показать себя(вожможно это только домысслы и компилятор выделяет память для переменных с учетом юникода (так бы и правильнее лучше чуть избыточности в памяти чем выяснение что из себя представляет сущность(трата времени) ).

На счет английской справки могу только позавидовать....только русским хелпом пользуюсь)

Цитата:

1. Требуется переключать раскладку
2. На русском языке сложнее придумать универсальное и лаконичное название функции/переменной
3. Представьте, что ваш код будет поддерживать американец, который русские буквы даже набрать не сможет без установки языкового пакета. Ну и конечно про слепой набор ему придется забыть.
1. Не значительно,(Не все знают англ. на отлично, чтоб коментарии не на русском четко прописывать).
часто, туда сюда раскладка лабает.
2. Здесь уж уверенно могу поспорить(в словарном падеже русский на голову английский делает).Правда и простоты в этом не прибавляется)
3.Здесь уж и минусы и плюсы, защита зашита от буржуев на молекулярном уровне))

Bgg 08.03.2011 01:13

Цитата:

Сообщение от vitalik14 (Сообщение 978724)
3.Здесь уж и минусы и плюсы, защита зашита от буржуев на молекулярном уровне))

Угу, защита от всех на планете. Кроме вас к этому коду никто больше не прикоснется.

vitalik14 08.03.2011 01:31

Цитата:

Угу, защита от всех на планете. Кроме вас к этому коду никто больше не прикоснется.
Это уже наверно ближе к истине)

Gaen 08.03.2011 01:35

Цитата:

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

vitalik14 08.03.2011 01:44

Цитата:

Имена локальных переменных при компиляции теряются.
Имена неймспейсов, пакетов, классов, методов и свойств складываются в таблицу констант. При исполнении кода флэшплеер оперирует не самими именами, а их индексами.
Спасибо! очень логично, не знал. Тогда в моем понимании основная разница заключается лишь в локально-социальном аспекте.

Котяра 08.03.2011 01:56

1c -код- это жесть!

expl 08.03.2011 02:06

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

А обычные идентификаторы называть - раскладку же переключать нужно :( И мало ли кто в каком редакторе твой код будет смотреть - лучше уж на английском пусть будут.

MetSerp 08.03.2011 03:22

никогда бы не подумал что может быть удобным код в котором для объявления цикла надо 7 раз сменить раскладку %)
Код AS3:

for (var счетчик:int;счетчик<переменная.length; счетчик){
}


Bgg 08.03.2011 03:24

Так есть этот... как там его, "пунто свитчер". Правда он не поймет следующее:
Код AS3:

for (var ай:int;ай < перем; ай++){
}


MetSerp 08.03.2011 03:28

у меня пунто когда стоял, был выключен для всех програм редактирущих код, иначе getChildByName он превращал в пуеСршдвИнТфьу, не знаю чем ему эта надпись казалась более читабельной, но пока его обучишь теряется очень много времени.

Gaen 08.03.2011 04:23

Он у меня уже давно работает в пассивном режиме, так как я пользуюсь только одной функцией: смена раскладки последнего набранного слова по нажатию кнопки Pause.

goodguy 08.03.2011 10:51

Цитата:

Сообщение от Котяра (Сообщение 978734)
1c -код- это жесть!

Это точно. Неудобно до предела. Особенно напрягает то, что по привычке нажимаю точки и запятые в английской раскладке, при этом получаю другой символ.

iNils 08.03.2011 11:34

Цитата:

Сообщение от expl (Сообщение 978737)
Я пробовал названия тестовых методов по русски писать (их, если англиский хреново знаешь, действительно сложно сочинять)

Если не знаешь слово, всегда можно посмотреть перевод в словаре.

Цитата:

Сообщение от GAIKER (Сообщение 978754)
Он у меня уже давно работает в пассивном режиме, так как я пользуюсь только одной функцией: смена раскладки последнего набранного слова по нажатию кнопки Pause.

Тоже самое.

expl 08.03.2011 13:22

Цитата:

Если не знаешь слово, всегда можно посмотреть перевод в словаре.
Это понятно (у меня постоянно yandex-словарь открытый в браузере), но перевести целое предложение уже проблематично:
Код AS3:

                public function testДляКнопкиБезТекстаРазмерыТакиеЖеКакКнопкиСПробелом():void
                {
                        var spaceButton:LUIScaledButton = new LUIScaledButton();
                        spaceButton.text = " ";
 
                        assertEquals(spaceButton.width, _button.width);
                        assertEquals(spaceButton.height, _button.height);
                }

Вернее перевести то можно, но будет криво и читать тяжело

iNils 08.03.2011 13:28

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

expl 08.03.2011 13:32

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

Тем более название теста ты упоминаешь только один раз - на него нет нигде ссылок, оно через рефлекшен запускается. Так что хоть в 3 строки напиши - это не вызовет неудобств

В тему: http://govnokod.ru/725 Хотя, тут, всетки перебор

Psycho Tiger 08.03.2011 14:09

"Я пишу переменные русскими буквами/транслитом" — это ж тебя в инди-среде засмеют.
Из аналогий почему-то в голову лезет мальчик, который втирает старым металюгам что Ранетки — это клёвый рок.

expl 08.03.2011 14:10

Ты чё, Ранеток даже Металлика одобрила "Они такие маленькие, а играют такую взрослую музыку" :)
http://www.youtube.com/watch?v=0JOa-sw5168
может, утка, конечно


Часовой пояс GMT +4, время: 11:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.