Архив для тега архитектура

Архитектура Pawn(SA-MP) проекта

В этой статье я хочу посоветовать Pawn скриптерам то, как нужно устраивать внутреннюю часть вашего SA-MP проекта. Далеко не секрет, что большая часть скриптеров хранят свои режимы всего в одном .pwn файле. Эта мода пошла от режимов Pen и The Godfather. В действительности, это решение является довольно непрактичным, ибо при увеличении количества кода, его сложность значительно увеличивается.

Чтобы избежать усложнения проекта при его расширении, вам достаточно правильно спроектировать архитектуру вашего проекта до его реализации, или провести рефакторинг уже существующего проекта.

Подготовка

У нас есть каталог projects/, в котором будут храниться все наши Pawn проекты. Конечно, вам потребуется компилятор, лучше всего компилятор не хранить в каждом проекте, а вынести в отдельный каталог compiler/. Проекты будут храниться в каталогах projects/project_1, projects/project_2, где project_1 и project_2 — названия ваших проектов.

В итоге, площадка для разработки должна выглядеть следующим образом:

compiler
    includes
        a_actor.inc
        a_http.inc
        a_npc.inc
        a_objects.inc
        a_players.inc
        a_sampdb.inc
        a_samp.inc
        a_vehicles.inc
        core.inc
        datagram.inc
        file.inc
        float.inc
        string.inc
        time.inc
    libpawnc.so
    pawncc
    pawncc.exe
    pawncc.pdb
    pawnc.dll
    pawnc.pdb
project_1
project_2

Я рекомендую использовать версию Pawn компилятора от Zeex. Эта версия отличается исправлением некоторых ошибок, введением небольшого количества новых возможностей и версией для Linux.

Читать дальше »

Перейти к верхней панели