![]() |
Синтаксис в блице
Вопрос вобщем-то адресован Diplomaty, который частенько утверждает, что я не знаю синтаксис. Вы спросите, почему я не задал его в личку, да потомучто большинство новичков с этим сталкиваются, и им это тоже будет полезно. Так вот, я так задумался а ведь действительно синтаксис-то у меня хромает, вследствие с этим у меня появился ряд вопросов:
1)Чем чревато использование большого количества глобала 2)Какое количество условий лучше использовать при написании проги, как можно меньше, или блицу без разницы, ато зачастую у меня 80% кода - это условия 3)Ну и прямой вопрос по условиям: вот 2 случая, оба работают, но какой все-таки будет грамотней, и какая разница между ними? Код:
If ... Then Код:
If ... |
Re: Синтаксис в блице
Цитата:
Deistvie1 If b=2 then Deistvie2 End IfEnd If старайся делать табы, легче будет понять какое условие куда входит. |
Re: Синтаксис в блице
Цитата:
|
Re: Синтаксис в блице
Цитата:
Цитата:
80% кода НЕ МОЖЕТ состоять из ветвлений IF...THEN. Если 80% кода- это ветвления, значит тебе за одну парту с Кристаллом. Само же ветвление IF...THEN выполняется как правило очень быстро. Цитата:
То есть разница лишь в удобстве? (с) Хотя, пример не точный, аналогия фальшива. Если ты не будешь использовать комментарии, недописывать операторы, злоупотреблять безусловными переходами и не соблюдать общепринятые для конкретного языка правила - это будет не просто неудобно. Код будет попросту нечитаем. Никто, кроме тебя, не сможет с ним работать, а сам ты забудешь его назначение через пару месяцев. В результате, как программист ты будешь неприменим и оттого- никому не нужен. "Если ты умеешь писать программный код- ты можешь создать нечто, что понравится твоей маме. Если ты умеешь читать чужой программный код и писать свой так, чтоб его могли читать другие- ты можешь считать себя программистом"(с). |
Re: Синтаксис в блице
Diplomat
если я пишу коментарии в коде только там где явно мутное место то это плохо или нет ? |
Re: Синтаксис в блице
Цитата:
|
Re: Синтаксис в блице
Цитата:
сначала в каменатх излагаю что я хочу сделать, потом пишу строчку(и) кода, где делается то, что написано в каменте. Зато сразу понятно, какая строка что делает, а если место совсем мутное, то подробно тоже поясняю как я его собираюсь преодолеть. Хотя, говорят, от обилия каментов компиляция становится очень долгой... Читать чужой код (в основном Leito'вский) я пытался, но так и не разобрал ничего, хоть убей... |
Re: Синтаксис в блице
А может кто какие фишки знает с оформлением кода или оптимизацией. Пишите сюда, я думаю многим будет интересно
|
Re: Синтаксис в блице
Оптимизация:
1) Не используйте строки для обозначения констант! Например select a$ case "run" case "dead" case "maa" можно заменить на const run=1 const dead=2 const maa=3 select a case run case dead case maa 2) Не создавайте камеру в цикле )))) 3) все текстуры взрывов (спрайтами), или текстуры, в которые будет происходить рендеринг, создавайте с флагом 256 4)двоичный сдвиг рулит! юзайте его, если ето возможно. |
Re: Синтаксис в блице
Не слушай никого. Хороший стиль - это когда стоящий за спиной конкурент не сможет разобраться в твоем коде до тех пор, пока ты его не заметишь, и, следовательно, стырить идею.
Например Код:
A = Input("Введите знаение для A: ") |
Re: Синтаксис в блице
alcoSHoLiK, Бугага, жжошь :-D
|
Re: Синтаксис в блице
Цитата:
|
Re: Синтаксис в блице
ну вот кусок кода из jAqua ... сходу мало че поймешь и мало че не поймешь
Код:
Local MouseDist# = MouseX()*MouseX()+MouseY()*MouseY() |
Re: Синтаксис в блице
Цитата:
ето a shl b или a shr b, соответственно сдвиг влево и вправо, соответсуют умножению на два и делению на два целочисленных чисел. |
Re: Синтаксис в блице
Цитата:
так вот поворот должен уменьшаться с увеличением скорости, ну как это сделать, как все нормальные люди, делением хотел, тоесть поворот разделить на скорость. Запускаю, хопа... 2д грузиться, а вместо 3д черное пространство, это ладно когда делишь на число, там-то заменить умножением мона, а сдесь, вопсчем пришлось создавать еще одну переменную, кот. уменьшается по мере увеличения скорости, и на нее умножать поворот. Может кто нить сталкивался с таким, или это тока у мяня деление в 3д не работает? |
Re: Синтаксис в блице
вот кусок кода из вартич
Код:
;Так скажем, захват зданий |
Re: Синтаксис в блице
Чёрт, вопрос о необходимом количестве каментов меня заинтересовал. ))
Вот примитивная программка, которая приблизительно подсчитывает количество каментов в коде и выводит ориентировочное процентное соотношение строк кода и комментариев. У меня в основном 10-17% комментариев в коде. Бывают подскоки до 30%, но они почти не влияют на результирующую статистику. Анализируя старые программы (ессно без QBASIC и MS VB ) могу заметить, что с годами статистика не меняется. А у вас как? Код:
RFile=OpenFile("Имя исходника.bb") Added: Цитата:
|
Re: Синтаксис в блице
Цитата:
в шутере 17% в гонках 8% Пробовал вставлять документ примерно 10 страниц - 57% - тормозов обнаружено не было да и на скорость компиляции не очень повлияло по крайней мере на глаз |
Re: Синтаксис в блице
мммм.....у меня 14%)))
|
Re: Синтаксис в блице
У меня всё в функциях.
Выше и ниже функций описываю что она делает внутри функции над и под процессом описываю что делает. |
Re: Синтаксис в блице
NUMBER OF LINES 14154
COMMENTED LINES 1028 ~7.26% комментариев, НО где то, где то 80% из них, ето закоментенный код, дабы не компилился он. |
Re: Синтаксис в блице
8 процентов
|
Re: Синтаксис в блице
Цитата:
|
Re: Синтаксис в блице
Цитата:
Эх, у меня больше 6850+ строк в один инклюд запихнуть не получалось. Да и то инклюд не честный: склад функций Беглеца. Все функции разбиты по категориям и свёрнуты средствами ГУИ. :"( Цитата:
|
Re: Синтаксис в блице
Цитата:
|
Re: Синтаксис в блице
Цитата:
Я когда работаю- ну код в 2к-8к я еще перевариваю, а больше:crazy: , всеравно код уже можно делить и делить! Хотя тут кому как нравится. ЗЫ\ Барахолка функций у меня на 3к++;) |
Re: Синтаксис в блице
ну так не честно в одном :) я решил по читерить ...
вот программка для blitzmax которая щитает количество строк во всех инклудах :-) Код:
Цитата:
в принципе я удивлен что настрочил 70 тыс строчек с 800 закоментироваными строчками ... из них половина - убраный код :) |
Re: Синтаксис в блице
49% в моих ботах (версия от 4-го декабря :))
|
Re: Синтаксис в блице
Цитата:
|
Re: Синтаксис в блице
Ых...
В моем жутком Сферике, как оказалось, 13% кода - комменты... А вот в редакторе для него - 5,67 ($_$) А вот вам и несколько упийц моска, персонально от меня, из того же Сферика... Глобал... Любуемся комментами... Код:
;- - - - - - - - - - - - - - - - - - - - - - - - - Далее... Совершенно неземной код коллизий (кусочек кода контроля) : Код:
; ---------------------------------------- Код:
;======================================- |
Re: Синтаксис в блице
У меня пару строк кода закомментировано)
|
Re: Синтаксис в блице
Юзай Select...Case.
|
Re: Синтаксис в блице
эмм. а кто вам сказал что у меня один инклюд?
у мну их тоже много, в основном модуле 14к, в остальных может 6к примерно в сумме. |
Re: Синтаксис в блице
У меня такие результаты:
NUMBER OF LINES: 1525 COMMENTED LINES: 395 ____________________________ COMMENTS PART IN CODE: ~26 % В общем там так много, потому что я некоторые строки с кодом закоментил, а в среднем у меня где-то получается 7-8 персентов. |
Re: Синтаксис в блице
Цитата:
Вот 311112/70028 = 4.44, как то 4 символа на строчку выходит. |
Re: Синтаксис в блице
Важно не колличество строк, а мощность кода. Если писать в стиле blitzerg'а, конечно строк многа, можно погордиться, только на самом деле все эти 200 строк могут украдываться в 20.
Меньше ифов, больше простой математики. Я всегда в коде соблюдаю стилистику, что для меня очень удобно, пешу интуитивно понятные имена функциям и переменным, и мне не жалко если кто-то легко поймёт мой код и заюзает его. Оформляю код какбы по блокам: Инклуд Инициализация Типы Переменные Загрузка и т.п. Главный Цикл Функции - Блок функций тоже разбит на разные подблоки, например функции для шейдеров, потом функции для эффекта Bloom, функции для создания объектов и т.д. и т.п. В общем для меня важно, что вернувшись даже через пол года, я отлично заного пойму свой код, несмотря на колличество строк. :) Рекорд у меня это 14к строк кода, но тогда я кодил весьма не мощно и было много копи-паста кода в коде :) (аля стиль blitzerg ;) ). В общем каждый сам свой стиль вырабатывает со временем. Я например никогда не юзаю Then, часто оформляю простейшое условие в одну строку и т.п. :) |
Re: Синтаксис в блице
я например всегда юзаю then, сли условие идет в одну строку, и никогда не юзаю, если условие должно определить будет ли работать блок кода.
примерs: if a>0 then b=12.5/a или if a>0 b=10/a c=12/a a=4*b-c; endif |
Re: Синтаксис в блице
if a>0 then b=12.5/a
= if a>0 b=12.5/a |
Re: Синтаксис в блице
знаю. но мне идиологически нравится вариант с then - он вносит ясность, и четко отделяет условие от выражения.
|
Re: Синтаксис в блице
Ну тогда:
if (a>0) b=12.5/a имхо, так ещё удобнее ;) |
Re: Синтаксис в блице
Предыдущий проЭкт(не готовый редактор карт)
Number of lines: 2191 Commented lines: 620 28,754% Сегодняшний(меньше недели) Number of lines: 2039 Commented lines: 829 40,6572% Из всех комментов 90% - результат оптимизации или переделывания кода в связи с переделыванием или добавлением других участов.. Часто приходится "делать откат" или разбираться почему старый код работал, а новый нет. |
Re: Синтаксис в блице
FrankH, всё правильно, приходиться сравнивать, замерять, и лишь на 10 раз резать. :)
Ещё я юзаю пути для goto как навигаторы, т.к. в стандартном IDE есть справа список путей, так вот т.к. у меня много кода, даже когда все функции свёрнуты, всёравно приходиться долго иногда летать, а тут нажал на к примеру .Sh_Prop - и сразу кидает на блок функций с управлением шейдерами для пропа. :) |
Re: Синтаксис в блице
Появился у меня еще один вопросик:Что лучше(с точки зрения поедания ресурсов конечно) создавать изображение в блице(CreateImage) или же загружать созданное в фотошопе(конечно сложное не сделать блицем,возьмем к примеру простенькое изображение с несколькими линиями).
|
Re: Синтаксис в блице
Цитата:
Jimon-70к строк и всего 300 кб, не мясистый у тебя код;) |
Re: Синтаксис в блице
Я немного не вьеду...
if условие Операторы_в_одну_строку когда нужно: if условие then Блок Операторов endif |
Re: Синтаксис в блице
ЛысыЙ_Чук-Иванчук
ну дык там 18 тыс строчек пустых я же не пишу без пропусков между строчками а то прямо монолитные стихи |
Часовой пояс GMT +4, время: 14:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot