Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 10 ПерваяПервая 1 2 3 4 5 ... ПоследняяПоследняя
Показано с 21 по 30 из 96

Тема: Geebrox

  1. #21
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Некоторые моменты:
    1. Структура модулей не является идеалом. Например, в основной папке (geebox) очень много внешних библиотек, которые, я думаю, стоило бы переместить в отдельную директорию. В ней они не будут мешать работе с модулями, т.к., ИМХО, очень трудно выбрать какой-то из модулей "на ходу". Тем более, что количество файлов в главной директории будет постепенно увеличиваться, что, соответственно, приведёт к большему беспорядку, таким образом, замедлив скорость разработки.
    2. Мне кажется, что лучше использовать автономную версию foreach из форка, т.к. она наиболее полезнее и безопаснее, чем старые версии, для которых давно уже не было обновлений. Об итераторах и foreach-версиях я говорил в этом уроке.
    3. Какой смысл использовать оператор "#" для указания строки? Я думаю многие текстовые редакторы и IDE уже имеют опцию автоматически закрывать кавычки.
    4. Следует помнить, что всё ещё есть люди, которые используют старый компилятор, а в нём, как известно, есть file guard. Таким образом, используя два файла с одинаковыми названиями, компилятор просто не включит один из них, что довольна неприятно, ибо этот файл является основным.
    5. У пользователей Unix могут быть проблемы с компиляцией мода, поскольку используется обратный слэш, который допустим только в Windows.


    Немного ответов:
    Цитата Сообщение от SooBad Посмотреть сообщение
    Дело, конечно, автора, как и что ему использовать, но читабельность это портит, и даже пометка "будет сложно для понимания новичкам" вряд ли скроет некомпетентную структуру построения кода данного проекта.
    Как минимум, модули как раз таки созданы для улучшения читабельность кода, поскольку каждый файл хранит блок кода, доступ к которому осуществляется практически мгновенно.

    Цитата Сообщение от Geebrox Посмотреть сообщение
    Могут возникнуть трудности при перехватах, если быть не достаточно внимательным, как говорил DeimoS
    Можно использовать разные библиотеки, например, y_hooks. Хотя, мне кажется, библиотеки YSI мало кто использует у себя в проекте, только лишь западные пользователи.

  2. #22
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Некоторые моменты:
    1. Структура модулей не является идеалом. Например, в основной папке (geebox) очень много внешних библиотек, которые, я думаю, стоило бы переместить в отдельную директорию. В ней они не будут мешать работе с модулями, т.к., ИМХО, очень трудно выбрать какой-то из модулей "на ходу". Тем более, что количество файлов в главной директории будет постепенно увеличиваться, что, соответственно, приведёт к большему беспорядку, таким образом, замедлив скорость разработки.
    2. Мне кажется, что лучше использовать автономную версию foreach из форка, т.к. она наиболее полезнее и безопаснее, чем старые версии, для которых давно уже не было обновлений. Об итераторах и foreach-версиях я говорил в этом уроке.
    3. Какой смысл использовать оператор "#" для указания строки? Я думаю многие текстовые редакторы и IDE уже имеют опцию автоматически закрывать кавычки.
    4. Следует помнить, что всё ещё есть люди, которые используют старый компилятор, а в нём, как известно, есть file guard. Таким образом, используя два файла с одинаковыми названиями, компилятор просто не включит один из них, что довольна неприятно, ибо этот файл является основным.
    5. У пользователей Unix могут быть проблемы с компиляцией мода, поскольку используется обратный слэш, который допустим только в Windows.
    Спасибо за советы, будут реализованы в дальнейших версиях, но 4 пункт не рассматривается. Я не могу заботится о редакторах каждого юзера.


    Цитата Сообщение от VVWVV Посмотреть сообщение
    Немного ответов:

    Можно использовать разные библиотеки, например, y_hooks. Хотя, мне кажется, библиотеки YSI мало кто использует у себя в проекте, только лишь западные пользователи.
    Мне не особо нравится вся эта библиотека YSI, я знал про y_hooks, но ради него не хочу подключать всю остальную часть библиотеки YSI. Если есть в просторах интернета вырезанный из этой библиотеки только функционал y_hooks, предоставь ссылку, буду очень признателен, хотел бы конечно использовать его.
    Последний раз редактировалось Geebrox; 22.04.2017 в 00:31.

  3. #23
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Этот мод нелегален по одной простой причине: несовместимость лицензий GPL (плагин MySQL и, как следствие, сам мод, ибо виральная лицензия) и MPL 1.1 (sscanf2, foreach).
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  4. #24
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Сугубо дело привычки. При том, привычки не очень хорошей.
    Итог: такой себе аргумент




    Большинство "скриптеров" и об оптимизации алгоритмов ничего не знают. Так что, теперь и на неё забивать?



    Open GTO, который с каменных веков разрабатывается - не? Ах да, это же первый мод, который ТЫ встретил. С этого и следует начинать



    Я не зря каждый раз говорю о том, что модульность должна быть продуманной. Если под одну систему выделять один модуль, то проблем никаких не будет.
    Итог: такой себе аргумент



    Кто эти люди? Можешь конкретно перечислить все ники, а лучше привести их в эту тему, дабы они показали нам скрины своих проектов?
    И повторюсь ещё раз: глупо ориентироваться на сообщество, которое на 90% состоит из людей, которые даже пару ошибок компилятора исправить не могут нормально, не говоря уже о чём-то более серьёзном. Сообщество SA-MP полно всяких нелогичных и глупых решений, от которых в других языках давно отказались, а в SA-MP они есть просто потому, что большая часть сообщества толком и не углубляется в программирование, а кодит абы как.



    Не стоит путать общепринятые нормы и простое незнание альтернативы. Тема с модульностью равносильна теме поклонников Pawno, которые отказываются переходить на более удобные редакторы просто потому, что они привыкли к стандартному недо-редактору. То, что эти люди полны консерватизма, не делает стандартный редактор Pawno удобным. Он лишь доказывает, что людям лень изучать что-то новое, что впоследствии принесёт лишь пользу. Им проще пользоваться устаревшими и неудобными, но проверенными методами (методами, которыми они начали пользоваться в самом начале изучения языка. То бишь, стагнацией заниматься любят люди).



    Так а где та самая черта, после которой использование модулей = "чересчур"? Там, где ТЫ решил?
    Помню ты всем говорил что если выкладываешь что-то на публику , то нужно придерживаться всеобщих рекомендаций форума(Этого, и прочих), Geebrox, не сможет прогнуться под все редакторы пользователей которые будут качать мод, а в большинстве(Почти все юзеры) используют стандартный редактор(Пусть даже тот же Zeex), поэтому стоило этот мод как минимум не разбивать на модули, хотя бы объекты/маппинг и прочее, ибо юзерам вообще будет неудобно с ним работать(Нет поддержки вкладок), конечно те у кого Atom/ST можно и удобно с ним работать, но простых юзеров тоже не нужно принуждать(Заставлять) качать другие редакторы ST/Atom(У большинства Atom даже и не пойдет, ибо требует очень много(Вспомнил Стяжкина xD)), а так мод хорош.

  5. #25
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Помню ты всем говорил что если выкладываешь что-то на публику , то нужно придерживаться всеобщих рекомендаций форума(Этого, и прочих), Geebrox, не сможет прогнуться под все редакторы пользователей которые будут качать мод, а в большинстве(Почти все юзеры) используют стандартный редактор(Пусть даже тот же Zeex), поэтому стоило этот мод как минимум не разбивать на модули, хотя бы объекты/маппинг и прочее, ибо юзерам вообще будет неудобно с ним работать(Нет поддержки вкладок), конечно те у кого Atom/ST можно и удобно с ним работать, но простых юзеров тоже не нужно принуждать(Заставлять) качать другие редакторы ST/Atom(У большинства Atom даже и не пойдет, ибо требует очень много(Вспомнил Стяжкина xD)), а так мод хорош.
    Где же в всеобщих рекомендациях указана, что нужно использовать стандартный редактор Pawno? А про то что у всех разные редакторы я писал чуть выше:

    Я не могу заботится о редакторах каждого юзера.

    А так, спасибо за отзыв.
    Последний раз редактировалось Geebrox; 22.04.2017 в 14:47.

  6. #26
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Изменил.




    Где же в всеобщих рекомендациях указана, что нужно использовать стандартный редактор Pawno? А про то что у всех разные редакторы я писал чуть выше:




    А так, спасибо за отзыва.
    Не, не, я ничего против не имею, я про это и говорю, что позаботится о всех компиляторах ты не сможешь, поэтому лучше конечно не злоупотреблять модульностью(перенести объекты/пикапы и прочее, но не системы какие либо), делай как знаешь, ведь как ты написал "в всеобщих рекомендациях не указана, что нужно использовать стандартный редактор Pawno", поэтому что либо говорить бессмысленно и тупо(Я про их спор)

  7. #27
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Этот мод нелегален по одной простой причине: несовместимость лицензий GPL (плагин MySQL и, как следствие, сам мод, ибо виральная лицензия) и MPL 1.1 (sscanf2, foreach).
    Я думаю, что почти все SA-MP моды/скрипты нелегальны, с лицензиями никто не заморачивается. Например, fixes.inc никто не может использовать, ибо там даже лицензии нет.
    Последний раз редактировалось ziggi; 22.04.2017 в 17:42.

  8. #28
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Где же в всеобщих рекомендациях указана, что нужно использовать стандартный редактор Pawno? А про то что у всех разные редакторы я писал чуть выше:
    Да если бы даже и написано было, то всё равно это ничего бы не поменяло, т.к. выбор у каждого в итоге свой.

    В трёх словах всё вышесказанное: человек начал про то, что модульность конкретно этого проекта реализована не очень, а закончили про то, нужна ли модульность как таковая вообще, что, естественно, речь о разных вещах.
    Я лично думаю, что следует сначала написать большую кодовую базу, чтобы уже смотреть на более-менее обросший функционалом мод в плане эффективности именно такого разбиения на файлы, хотя скорее всего рефакторинг в любом случае будет неизбежным.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  9. #29
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Я лично думаю, что следует сначала написать большую кодовую базу, чтобы уже смотреть на более-менее обросший функционалом мод в плане эффективности именно такого разбиения на файлы, хотя скорее всего рефакторинг в любом случае будет неизбежным.
    Может быть и такое, что будет очень проблематично разбить мод на модули. Многие разработчики приложений придумывают архитектуру проекта, а уже только потом пишут к ней функционал.

  10. #30
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от SooBad Посмотреть сообщение
    Ровным счётом - ты сам это и подразумевал, ибо никакой полной информации о помодульном разделении и не существует. Возможно, только лишь в приватных каналах.
    Эмм, то бишь автор языка должен ещё и объяснять для чего может пригодится директива, которая позволяет помещать содержимое сторонних файлов внутрь других? Самого определения: "Директива #include вставляет содержимое указанного файла в текущую позицию" - для тебя не является объяснением? О_о Сам хоть понимаешь о чём пишешь?

    Цитата Сообщение от SooBad Посмотреть сообщение
    Спроси любого юзера, как по другому называется инклюд, или текстовый файл, и, примерно, в 90% случаях ты не получишь ответа "модуль".
    Примерно в 90% случаев я услышу "я хз. Сам никогда не создавал такие и не представляю как их создать"

    Цитата Сообщение от SooBad Посмотреть сообщение
    Опять же, твоя цитата:

    Думаю, это можно отнести к косвенной критике, ведь ты ссылаешься на "непродуктивность" юзеров.
    Я критикую не юзеров, которые не разбираются в Pawn, а тебя как человека, который ссылается на мнение этих юзеров. С таким же успехом можно где-нибудь на семинаре по химии в университете ссылаться на мнение школьника Васи из 8Б, который только первый год проходит химию и вообще ей не особо интересуется.
    Большей части сообщества SA-MP какое-либо углублённое программирование вообще никаким образом не сдалось. Им нужно просто запустить сервер, вставить в мод пару систем с паблика и всё (так была создана большая часть модов для паблика). И глупо ориентироваться на мнение этих людей, так как они банально не интересуются обсуждаемым вопросом.


    Цитата Сообщение от SooBad Посмотреть сообщение
    Интересно, где проявляется моя попытка поставить себя "выше других"? Очередной апофеоз, взятый с потолка, и ничем не обоснованный.
    Ты начал разговор со стороны БОЛЬШИНСТВА - как юзеров, которые не способы написать нормальный код. Так вот, я и привёл тебе статистику среди таких юзеров. Разве это не может подтолкнуть на мнение о том, что ты специально высчитываешь их в количественном эквиваленте? Поэтому, тезис предельно ясен.
    Ну так если ты знаком со многими скриптерами и владельцами крупных серверов, то возьми и попроси у них пару вырезок кода с их скриптов (или же поищи в интернете слитые моды крупных проектов и посмотри их, если вдруг твои знакомства окажутся не настолько крепкими). И посмотри на качество этого кода, а после пойми почему твоё высказывание про крупные сервера никак не подкрепляет твои слова.

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

    Цитата Сообщение от SooBad Посмотреть сообщение
    Думаю, что потеря времени тут заключается только у тех, кто строит весь мод, основанный исключительно на модулях, с пустым .pwn файлом. Я бы не придирался к структуре, если бы всё было иначе (Если это можно назвать придиркой). Но что мы видим на данный момент - весь мод состоит из десятков .txt, и сам "компиляционный файл" задействуется напрямую, для компиляции. Где тут удобство? Рыться в маленьких отрывках кода, в поисках нужного?
    Достаточно лишь адекватно называть все модули, чтоб поиск нужного занимал минимум времени для стороннего человека, который видит мод впервые. Это на случай, если человек не слышал о поиске по файлам.
    Если же ты пишешь код сам и сам продумываешь структуру проекта - даже без поиска по файлам поиск нужного кода занимает считанные секунды.
    И да, то, как задействовал модули автор - неудачный пример. И мы это ещё несколько сообщений назад решили.


    Цитата Сообщение от Long- Посмотреть сообщение
    Помню ты всем говорил что если выкладываешь что-то на публику , то нужно придерживаться всеобщих рекомендаций форума(Этого, и прочих), Geebrox, не сможет прогнуться под все редакторы пользователей которые будут качать мод, а в большинстве(Почти все юзеры) используют стандартный редактор(Пусть даже тот же Zeex), поэтому стоило этот мод как минимум не разбивать на модули, хотя бы объекты/маппинг и прочее, ибо юзерам вообще будет неудобно с ним работать(Нет поддержки вкладок), конечно те у кого Atom/ST можно и удобно с ним работать, но простых юзеров тоже не нужно принуждать(Заставлять) качать другие редакторы ST/Atom(У большинства Atom даже и не пойдет, ибо требует очень много(Вспомнил Стяжкина xD)), а так мод хорош.
    Ты сейчас путаешь тёплое с мягким.

    Одно дело - придерживаться общего стиля написания кода. Тут и глазу приятно будет, и упрощается сама работа с кодом (учитывая то, что все рекомендации форума не являются распространёнными среди сообщества SA-MP и они созданы как раз для того, чтоб сделать код опрятнее).
    Например, если бы все придерживались общего стиля именования функций/переменных и нормально знали английский, дабы давать правильные имена, то можно было бы спокойно пользоваться поиском для нахождения какого-либо участка кода, например, в паблик моде. То бишь, если переменная создана для хранения ID автомобиля, она будет называться "vehicleid", а не "v/vid/veh/car/avto/bibika" и т.п. С таким подходом ты мог бы открывать любой чужой скрипт и чувствовать себя в нём максимально комфортно: всё, что от тебя требовалось бы - это прочесть код, не расшифровывая имена функций на транслите, чтоб понять алгоритм работы системы и всё.

    Другое дело - структурирование проекта и прочие подобные вещи, которые к скриптингу толком не относятся.
    То, что кто-то до сих пор разводит огонь с помощью трения палки о палку, не обязывает производителей газовых печей делать специальную выемку в печи, где бы наш первобытный человек мог бы добывать огонь.
    То же самое и с публикуемыми скриптами: мне, например, не очень удобно работать с модом, у которого не продумана структура, а какому-нибудь американцу Джеймсу неудобно читать русский текст, что присутствует в данном моде, ибо он не знает русский язык. Так что, автору теперь нужно писать сразу и модульную версию, и "монолитную", а заодно и на все языки мира переводить их?

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




    Nexius_Tailer, разве тут SooBad критикует конкретно подход этого проекта?
    Цитата Сообщение от SooBad Посмотреть сообщение
    Всё, конечно, хорошо реализовано, но вопрос лично к автору: самому-то удобно вносить помодульные правки? Куда проще вынесни туда лишь соединение с бд, к примеру, античит и ещё несколько систем, которые не нужно будет постоянно редактировать. А так, всё это разделение - дешевые понты, которые только будут отнимать время, особенно, если модули с конструктивной зависимостью друг от друга.
    Как мне кажется, слова: "Куда проще вынесни туда лишь соединение с бд, к примеру, античит и ещё несколько систем, которые не нужно будет постоянно редактировать." - подразумевают то, что в модули стоит выносить лишь некоторые системы, а всё остальное писать в основном файле, то бишь, осуждение желания построить проект на модулях.

    Если написать более-менее большую базу, разбить её на модули окажется сложнее, нежели если продумывать модульность изначально. Начиная тем, что у систем могут появится зависимости в виде каких-то общих переменных (например, в начале коллбэка записывается ID авто, в котором находится игрок и уже эта переменная используется во всём коде ниже. Это самый простой вариант) и заканчивая банальной ленью. Гораздо эффективнее изначально заняться разделением проекта на модули и на ходу продумывать/корректировать всю структуру.
    Последний раз редактировалось DeimoS; 22.04.2017 в 20:19.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 
Страница 3 из 10 ПерваяПервая 1 2 3 4 5 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •