• Регистрация на форуме отключена.
    Она будет открываться первого числа каждого месяца на 24 часа.

    Если вы хотите поделиться чем-то интересным и полезным, то обратитесь к администраторам в >> телеграм <<

Этикет разработки

Сообщения
1.333
Реакции
1.928
Помог
32 раз(а)
Предлагаю обсудить тут моменты, которые стоит учитывать и реализовывать, чтобы другим было приятнее пользоваться вашими творениями.
Все что вы выкладываете в общий доступ не должно попадать под ваши придуманные оговорки "Я писал это для себя, поэтому делал все, как мне удобно". Оно должно быть удобно, читабельно и понятно другим.
Это будет дополнением темы "Правильный стиль оформления кода в программировании"



1. Используйте GitHub

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


2. Храните настройки не только в исходном файле, а позволяйте так же выносить и использовать их в конфигах.

Редкие плагины требуют "одноразовой" установки значений и вы заставляете администратора игрового сервера каждый раз компилировать плагин.


3. Храните фразы в словарях через переменную, а не в исходном коде ввиде хардкода.

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


4. Используйте понятный человеку changelog и последовательную нумерацию

Группируйте свои изменения в группы для читабельности. Маркируйте каждую версию новым порядковым номером, обычно используется последовательная нумерация, разделённая точкой: например, 1.5.2. Первое из них — старшая версия (major), второе — младшая (minor), третья — мелкие изменения (maintenance, micro).

Мы можем использовать простую систему группировки изменений согласно их влиянию на проект, которая будет разделена только на 4 группы: Added, Changed, Fixed и Removed.
А можем расширить их до таких групп:

Added для новых функций.
Changed для изменений в существующей функциональности.
Deprecated для функциональности, которая будет удалена в следующих версиях.
Removed для функциональности, которая удалена в этой версии.
Fixed для любых исправлений.
Security для обновлений безопасности.


Многие не считают нужным повышать каждый раз версию своего плагина из-за каких-то недочетов.
Я считаю это не правильным, потому что при ошибках, я даже не могу сослаться на версию, в которой они возникли, т.к. автор решил маркировать изменения фразами "Правки в коде. Хотфикс. Мелкие недочеты. Исправил косяки и т.д." и мне придется дополнительно объяснять ему, какую версию "Мелкие недочеты" я имел ввиду.
Да и выглядит это ужасно и не компетентно, словно студент первого курса влил воду в свой реферат и считает, что так и надо.

Для сравнения возьмем записи:

Маленькая поправка
  • Оптимизация
  • Косметические изменения
  • Не заметил ошибочку
  • Убрана лишняя проверка
Или короткие, но понятные правки

Обновление до версии 1.1.3
  • Добавлен STEAMID игрока в название демо
  • Убрана поддержка 1.8.2
  • Убраны дата, время и STEAM_ID игрока из формата имени демо
Сделаем более расширенный вариант записи по группам

Version 2.2
[Added]
  • Russian translation
  • MySQL support
  • new setting NOTIFY_ON_KILL - if enabled, players will receive chat notifications about the XP they received when killing a player.
[Removed]
  • Support Amx Mox X ver. 1.8.2
[Changed]
  • rename cvar rank_user_xp in aes_user_xp
[Fixed]
  • the method responsible for reading the results from the database has been fixed (the index was not updated in it)
  • compilation errors

Кто-то сможет дополнить данный список или может не согласен с текущим?
Тема во флуде, поэтому можем обильно все обсуждать и достичь общего стандарта для форума, если мировые стандарты кому-то не удобны.
 
Сообщения
935
Реакции
1.081
Помог
50 раз(а)
Сообщения
448
Реакции
484
Помог
6 раз(а)
Это касается только ресурсов? Или в блоге теперь это тоже будет заведено?
 
Сообщения
897
Реакции
214
Помог
16 раз(а)
Javekson, это рекомендации по написанию плагинов/модов etc.
 
Сообщения
122
Реакции
179
Помог
4 раз(а)
Сообщения
56
Реакции
83
6. Поддержка модульности, в целом API.
 
Последнее редактирование:
Сообщения
6
Реакции
8
3. Храните фразы в словарях через переменную, а не в исходном коде ввиде хардкода.

Берите за основу английский язык и по возможности расширяйте словарь своим родным языком. Сообщество так же сможет подключиться и помочь в вам в переводе на другие языки. Не лишайте их такого права.
Пожалуй, стоит отметить еще, что было бы неплохо давать переменным понятные имена, чтобы код был читабелен. А то есть делать new iA, iB; не думаю, что так будет удобно читать код.
И еще не менее важным считаю оставлять комментарии в коде.
 
Сообщения
2.255
Реакции
2.275
Помог
54 раз(а)
Rabb1t, не внимательно ты начало прочитал
 
Сообщения
6
Реакции
8
wopox1337, да, не заметил, что это продолжение. Приношу свои извинения.
 

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

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу