![]() |
Примеры сокращения кода :
Y = ( KeyDown(203) ) - ( KeyDown(205) )
TurnEntity entity_name,0, Y ,0 ; мерцание объекта EntityAlpha entity_name, Sin( MilliSecs() )*0.5+0.5 ; прибавление и сброс на 0 if KeyHit(57) and nomer <4 Then nomer = nomer+1 Else if nomer >3 Then nomer =0 ;пустой цикл: ожидает нажатие мыши или клавиатуры,завершает программу Repeat :Until GetMouse()<>0 Or GetKey()<>0 :End ;цвет меняется синусоидально Color 0,0 , 64 +Sin ( MilliSecs() /10)*32 пока всё... :) |
Ответ: Примеры сокращения кода :
; клавиши управления
Select True Case KeyDown(205 ) : x = x +1; вправо Case KeyDown(203 ) : x = x -1; влево Case KeyDown(208 ) : y = y +1; вниз Case KeyDown(200 ) : y = y -1; вверх End Select ;меняем значение переменой A = Not A ;незабываем использовать двоеточие . пример Типы: Type tip Field x,y,nom End Type tip.tip = New tip : tip\x=x : tip\y=y : tip\nom=nom For tip.tip = Each tip : Print tip\x+" "+tip\y+" "+tip\nom : Next |
Ответ: Примеры сокращения кода :
это не сокращение кода, это называется говнокод :)
Цитата:
2) TurnEntity относительно тяжелая, потому в данном случае надо If Y Then TurnEntity... Цитата:
If number >= 4 Then number = 0 а если граничное значение степень двойки, то вообще замечательно number = (number + KeyHit(57)) And (4 - 1) Цитата:
Цитата:
Цитата:
Цитата:
A = 1 - A т.к. компилятор блица тупой и умеет not только для условий, соответственно генерит избыточный код Цитата:
ЗЫ Пешы ищо ;-) А лучше не пиши, плохой пример подаешь нубам. |
Ответ: Примеры сокращения кода :
можно еще:
if KeyHit(57) Then nomer = nomer+1:nomer = nomer % 4; на нормальных языках было бы как то так: if(KeyHit(KEY::SPACE))nomer = ++nomer % 4; |
Ответ: Примеры сокращения кода :
Цитата:
а не так разьве?) |
Ответ: Примеры сокращения кода :
Цитата:
|
Ответ: Примеры сокращения кода :
приятно ,что тема "пошла" . признаться написанное мною имело цель удобства ... но несомненно есть более изящные решения и я в свою очередь благодарен всем отписавшимся в их вариантах решений.
в конечном случае выбор остаётся за пользователем. конечно я не утверждал что мои решения Абсолютны ,дескать делай как я. предлагаю поделиться вам уважаемые опытные программисты своими решениями ,пусть небольшими примерами ... спасибо. |
Ответ: Примеры сокращения кода :
Цитата:
m = n++ % 4 to +1 budit vipolneno posle % 4? esli n=3, to m = 4? (ili m = 0 ? xD) posledniy raz s etoy temoy stalkivalsya goda 4 nazad>< poetomu ne pomnu uje :) sor za tranlit |
Ответ: Примеры сокращения кода :
Цитата:
|
Ответ: Примеры сокращения кода :
с постфиксным инкрементом будет от 1 до 4 гулять. с префиксом от 0 до 3. в первоисточнике было от 0 до 3, не?
|
Ответ: Примеры сокращения кода :
Цитата:
если ++n это префиксный. |
Ответ: Примеры сокращения кода :
можно перфиксную форму разложить так:
Код:
temp1 = n+1 Код:
temp1 = n % 4 |
Ответ: Примеры сокращения кода :
Проще писать понятный отформатированный код, не?
|
Ответ: Примеры сокращения кода :
Всё из первого и второго поста ужасный говнокод.
Учитывая кучу проблем с инпутом, нужно обязательно выносить клавиши инпута в отдельные переменные. И лишь при уверенном редком использовании в цикле лишь один раз клавиши, можно писать функцию доступа к данным инпута прямо в теле условий и т.п. Например такое: Цитата:
Код:
keyRight = KeyDown(205) Но это лишь простой пример, даже такой не однозначен, и во многих ситуациях не корректен. Остальные есть ещё хуже.. Я бы такое в "Полезные Функции" не постил. |
Ответ: Примеры сокращения кода :
нубско но
if keyhit(2) a=1 end if if not keyhit(2) a=0 end if можно в if keyhit(2) a=1 else a=0 end if |
Ответ: Примеры сокращения кода :
a = keyhit(2)
|
Ответ: Примеры сокращения кода :
Цитата:
|
Ответ: Примеры сокращения кода :
Вообще полезно!
Понравилось! Если собрать вместе что узнал, то получится :-) Код:
keySpace=keyHit(57) |
Ответ: Примеры сокращения кода :
аффтар, больше так никогда не делай!
примеры сокращения кода это когда делают рефакторинг, удаляют ненужную функциональность, выносят в отдельные функции куски кода и тому подобное. то что делаешь ты - набор нечитаемых хаков. когда на компьютерах было по 1 килобайту памяти - тогда да, нужно было экономить её изо всех сил. сейчас ясность и читаемость важнее. |
Ответ: Примеры сокращения кода :
А комментарии зачем придумали?
|
Ответ: Примеры сокращения кода :
Цитата:
|
Ответ: Примеры сокращения кода :
Цитата:
говнокод - это когда чёрти чо и с боку бантик: поросёнок обёрнут в ночнушку, еда лежит вперемешку с деньгами, а вся конструкция для надёжности перевязана ленточками. код оптимизированный это: бутылки завёрнутые в носки и газеты, носки запихнутые в сменную обувь; мыло и книги убранные поглубже в чемодан, а туалетка и билет - наоборот - поближе (сокращение времени доступа к наиболее вероятным объектам). Правда, теперь скомпилировать аптечку не так просто: "антиобосрин" лежит под рукой (акклиматизация), а крем от идиотов - на самом дне чемодана. код структурированный (после рефакторинга): носки по парам в пакетиках (дырявые выброшены), пакетики с белыми носками в пакете с надписью "носки белые, ГОСТ ***, кол-во, дата упаковки, амортизация, ответственный" и т.п. Каждая вещь на месте. Всё гиперсистематизировано, но совсем не компактно. Ответ на вопрос: от того что у тебя на руках указание "бутылка в паре шерстяных носков и газете Труд" скорость доступа и модификации структуры поклажи не увеличится, хотя понимание вроде и прибавится. На хабре то и дело в коментах заново открывают истину, что оптимизация и рефакторинг вещи не одинаковые, а, зачастую - противоположные. |
Ответ: Примеры сокращения кода :
порадовали метафоры
|
Ответ: Примеры сокращения кода :
Свои способности к оптимизации неплохо на микроконтроллерах оттачивать :)
У них до сих пор память килобайтами измеряется. И здесь рулит ассемблер! Хотя сам последнее время срулил на Си. Правда здесь буржуи изначально подложили свинью (за удобства оказывается платить нужно). Компиляторы lite версий код не то что бы совсем не оптимизировали, просто оставшуюся свободную память забивали ассемблерными командами перехода. Спасибо хакерам за их труды, и кейгены. Код сразу раза в три меньше становиться. Вся сия писанина относится к контроллерам Микрочип и HI-Tech C compiler. |
Часовой пояс GMT +4, время: 04:53. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot