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

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



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

Кто-то сможет дополнить данный список или может не согласен с текущим?
Тема во флуде, поэтому можем обильно все обсуждать и достичь общего стандарта для форума, если мировые стандарты кому-то не удобны.
 
Сообщения
1,032
Реакции
828
Помог
10 раз(а)
Это касается только ресурсов? Или в блоге теперь это тоже будет заведено?
 
Сообщения
3,579
Реакции
1,569
Помог
137 раз(а)
Javekson, это рекомендации по написанию плагинов/модов etc.
 
Сообщения
141
Реакции
201
Помог
5 раз(а)
Сообщения
56
Реакции
84
6. Поддержка модульности, в целом API.
 
Последнее редактирование:
Сообщения
10
Реакции
12
3. Храните фразы в словарях через переменную, а не в исходном коде ввиде хардкода.

Берите за основу английский язык и по возможности расширяйте словарь своим родным языком. Сообщество так же сможет подключиться и помочь в вам в переводе на другие языки. Не лишайте их такого права.
Пожалуй, стоит отметить еще, что было бы неплохо давать переменным понятные имена, чтобы код был читабелен. А то есть делать new iA, iB; не думаю, что так будет удобно читать код.
И еще не менее важным считаю оставлять комментарии в коде.
 
Сообщения
2,751
Реакции
3,015
Помог
61 раз(а)
Rabb1t, не внимательно ты начало прочитал
 
Сообщения
10
Реакции
12
wopox1337, да, не заметил, что это продолжение. Приношу свои извинения.
 

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

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