Форум 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=178027)

ramshteks 13.04.2012 21:49

Цитата:

Сообщение от Wolsh (Сообщение 1074894)
Зато оптимизация чтения кода имеет смысл. Я лично пишу "/ 2".

я конечно может буду несколько груб в своих суждениях. Но программист для которого x*0.5 и x/2 настолько сильно рознятся в плане читаемости, что он всегда пишет только как то по-своему(чтобы читалось легче), явно ошибся с профессией. Я имею ввиду, что это скорее просто дело привычки и не более. Кто то пишет так, кто то так. Никакой хоть сколько существенной разницы в чтении нет. Это уже попытка объяснить свои привычки "благими намерениями".

Уж извините за честность

Wolsh 14.04.2012 00:59

А кто Вам сказал, что я программист?
Я дизайнер. Так что можете и дальше смело шифровать свой код от себя самого. А я воспользуюсь советами Боба Мартина и буду и дальше стараться писать чистый код. Такой, чтоб не надо было каждый символ переводить на человеческий. Умножение – не человеческая операция, она от лукавого. Человек с молоком матери принимает деление, оно сопровождает его всю жизнь. Умножения же в природе не существует, разве что в особом разделе эльфийской магии. Это операция чисто умозрительная. Ага, для "программистов", не ошибившихся с профессией. Мне, дизайнеру, приходится переводить в уме PI * 0.5 в "половина окружности на пополам". Так я и пишу – PI / 2.

Psycho Tiger 14.04.2012 01:13

Буквы и символы из которых состоит код тоже не человеческие.

Я люблю писать >> 1. Мне нравится округлять сразу.

Newred 14.04.2012 03:48

Цитата:

Сообщение от Wolsh (Сообщение 1074894)
Зато оптимизация чтения кода имеет смысл. Я лично пишу "/ 2".

Я программист, и я тоже пишу х/2, а то про х*0.5 даже не думаю.
Во первых меньше букв(в два раза!), а во вторых читается легче. В том плане, что при делении я даже не задумываюсь над операцией - так как ясно - половина от числа! А при умножении какие то доли секунды уходят на "операцию".

Здесь понятней почему деление легче и лучше:
x = x/50
x = x*0.02

ramshteks 14.04.2012 10:42

ну раз Мартин сказал, то тогда удачи вам в чтении 3/0.25 вместо 3*4. Все изливания на тему естественности это бред.
и к слову для меня никакой разницы в чтении 0.5*Pi и Pi/2, нет. Возможно потому что я в школе еще впитал(с молоком матери, ага), что это идентичные операции.

Цитата:

Здесь понятней почему деление легче и лучше:
x = x/50
x = x*0.02
все зависит от контекста, кстати говоря. Если 0.02 это некий коэффициент, то второй лучше. Если 50 это скажем количество элементов при подсчете какой оценки(например математического ожидания), то первый лучше.

Или для того чтобы умножить на коэффициент трения и не пользоваться операцией от лукавого вы будете этот множитель в делитель превращать? Ну чтобы читалось лучше, ага?

Добавлено через 11 минут
Wolsh, ну и раз вы сослались на Мартина, не могли бы вы дать ссылку на то место где прочитали про это? Перечитаю ради интереса

Wolsh 14.04.2012 11:12

Цитата:

удачи вам в чтении 3/0.25 вместо 3*4.
Цитата:

Если 0.02 это некий коэффициент, то второй лучше. Если 50 это скажем количество элементов....
А нельзя ли одинаковыми методами издеваться над тем что говорю я, и – отстаивать свои измышления? Не выдумывать ситуации, о которых речи не было. Не приписывать мне стремление писать "/" в любой ситуации, а услышать то что говорил я – код должен просто читаться без запинки там, где это возможно. /2 естественней, чем *0.5. Ваши экзорцизмы с "3/0.25 вместо 3*4" просто от желания поспорить, грубо и примитивно приписывая мне нелепости, прямо противоположные моим словам.
Если Вы ждете ссылку на слова Мартина что "надо всегда только делить" то увы, он как раз пытается отучить от костей в мозгу. А ссылка на то, о чем я говорил – что код должен легко читаться без спотыканий и перевода – вся книга "Чистый код".
В дальнейшем холиваре не заинтересован. Вы либо совсем не понимаете, о чем речь, либо нарочно утрируете мои высказывания до абсурда.

ramshteks 14.04.2012 11:43

Адекватно. Давайте разговаривать адекватно? Вернемся к моему первому посылу? ну просто для интереса, не холивара ради.

Из вашего я понял только то, что вы только за деление. Поэтому и ответил подобным образом.

Вторая моя цитата, которую вы приводите, была адресована Newred. Забыл подписать обращение.

А теперь по делу. Я не хочу сводить все к абсурду. Но мне кажется этим занимаются сейчас многие. Я постоянно натыкаюсь на то, что люди прочитав какую то книгу беспрекословно ей следуют. Будь то "Чистый код", Совершенный код, гоф или что-нибудь еще эпическое. Спорить не буду книги фундаментальные и основополагающие. НО! Люди прочитавшие их не избавляются от закостенелости мозга, а только ее приобретают. Нет умения читать эти книги, понимаете? Книги эти хорошие, но покрывают они 90% очень общих случаев. Даже иногда они пишут в книгах "бла бла бла, но надо исходить из ситуации", увы эта фраза не у кого не оседает. Поэтому происходят споры на темы подобной нашей, поэтому человек встретивший в названии класса слово "Factory", зайдя в него и не обнаружив там фабрики впадает в ступор и т.д. Бесконечное стремление писать как-можно меньше кода, даже ценой функциональности. Лишние два символа и уже эта запись хуже чем другая. Господа вы выдаете тонны работающего кода, но написать лишние два символа уже проблема?

И происходит такая ситуация, как у нас с вами. 0.5*PI и PI/2. Давайте будем честны друг с другом - читаются они одинаково. Даже если и не одинаково. Разница не настолько велика, чтобы на это обращать хоть какое то внимание. Плохая читаемость кода, это когда вам надо, заглядывать в код функции с непонятным кодом, чтобы понять хоть какое то понимание о том, что там происходит. ВОТ! Что значит хуже читается. Да и кроме всего прочего. Код можно сделать хорошо читаемым. Но сделать его читаемым как поэма невозможно. Это миф. Это инструкции для процессора, а не литература. Эти инструкции должны быть лаконичными в пределах своей предметной среды.

Да и уж если на то пошло, про читаемость, то эти самые полПи, если они так часто используется стоило бы вынести в константу. Если уж говорить о повышении "чистоты". А не делить на два или умножать на однувторую.

Wolsh 14.04.2012 12:18

Цитата:

Давайте будем честны друг с другом - читаются они одинаково.
Давайте будем честны. Читаются они не одинаково. Умножение на дробь и деление на целое число (как и наоборот) читаются совершенно по-разному. "/2" я понимаю на уровне глаза. "*0.5" требует обработки в мозгу. Если бы это было не так [для меня], не было бы и этого разговора. Хотя... может я просто бесчестный человек и специально соврал, чтобы затеять холивар... никто ж не знает. Для меня вот совершенно непонятно, зачем Вы затеяли этот спор об очевидном.
К чему опять эти отсылки к другим ситуациям, к каким-то функциям, фабрикам.. Вся загадка стоит на том, что Вам нет дела до таких мелочей, а мне есть. Даже один раз при объявлении константы. И всё. И да, я как и Newred, делаю это на автомате, не сижу ломаю голову, использовать умножение на дробь или деление на целое, и что будет читаться лучше. Для меня это очевидно, и оправдания мне не особо нужны. Оправдания нужны тому, кто пишет в этой ситуации *0.5. Это ему надо что-то сочинять про операции с FLOAT, быстродействие и прочие концепции, из-за которых он решился нарушить читаемость кода. Я просто следую естественности.

iNils 14.04.2012 12:34

Цитата:

Сообщение от ramshteks (Сообщение 1074900)
Но программист для которого x*0.5 и x/2 настолько сильно рознятся в плане читаемости, что он всегда пишет только как то по-своему(чтобы читалось легче), явно ошибся с профессией.

Давайте без выдумывания про выбор профессии из-за такой мелочи?

ramshteks 14.04.2012 12:48

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

В общем у нас с вами видимо разный опыт. Я очень много в свое время работал с математическими алгоритмами и для меня полПи не является проблемой в плане чтения.


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

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