Якщо говорити з досвіду ...
Перший проект з відкритим кодом, в який я сприяв, я був сповнений жадібності та оцту, коли я вперше також почав.
Що я одразу зробив, це пройти купу вихідних файлів і почати стилізацію речей за моїми особистими вподобаннями.
Якщо ви працюєте з тим, хто «хороший» (як я), він негайно відхилить виправлення. Переважно тому, що, коли ви вносите свій внесок у проект з відкритим кодом, ви очікуєте, що ви зможете розбити свої виправлення на шматки розміру укусів, які вирішують одну проблему. "Видалено всі gotos" - не є хорошим прикладом атомної фіксації. Навіть якщо ви розділите його на більш дрібні, добре задокументовані зобов'язання, він все-таки може бути відхилений.
Причина полягає в тому, що з часом над кодом працює декілька людей (з різними стилями), реально прийняти зміни по всій бібліотеці відповідно до стилю одного розробника. Якби зміна стилю заради стилю була здійсненною, тоді кожен проект з відкритим кодом ніколи не рухатиметься вперед, оскільки код постійно редагуватиметься відповідно до різних стилів розробників.
Код рефакторингу та додавання функціональних можливостей (або видалення застарілого шаруда) зазвичай має перевагу над кодом "очищення".
Найскладніша і найкорисніша частина роботи над проектом з відкритим кодом - вас запитають, чому ви пропонуєте внести зміни, які ви надсилаєте. Якщо ви можете дати вагомі причини, є більший шанс, що ваш патч буде надісланий.
Моя порада - зробити кілька цих змін в одному вихідному файлі, щоб відчути те, що ви намагаєтесь зробити спочатку. Якщо зміни є обґрунтованими та прийнятими, запитайте, чи більше змін, подібних до цього, покращило б якість проекту. Таким чином, ви не витратите багато зусиль ні за що, якщо в майбутньому ваші патчі будуть відхилені.
Розробка відкритого коду - це більше, ніж написання коду. Ви працюєте , щоб побудувати довірчі відносини , тому що воротарі (УБС , які управління поштовхом доступ) буде робити те , що вони повинні захищати цілісність проекту. Коли ви подасте більше патчів, воротар буде краще відчувати свій стиль, і вам не доведеться стільки виправдовувати свої зміни.
Це процес, який вимагає часу, але це дуже корисно. Ви не тільки навчитесь багато чого з того, щоб переглядати та критикувати код когось іншого ельза, але й будете критикуватися за власним стилем.
Перш ніж витрачати багато часу, намагаючись «виправити несправедливість помилок стилю кодування інших», запитайте себе так:
Чи запропоновані вами зміни базуються на доданні вартості проекту чи вони базуються на вашій власній стилістичній релігії.
Існує багато релігії на переповнення стека (та пов’язані з ними сайти обміну стеками). Я маю на увазі багато . Люди думають і говорять про стиль нескінченно, ніби чим більше ви про це говорите, тим ближче ви наближаєтесь до «ідеального, ідеального, незнищенного, безпомилкового» стилю кодування. Я дуже багато говорю про це, бо це весело.
У світі з відкритим кодом стиль не так важливий. Функція є .
Примітка. Усі ці поради передбачають, що ваш воротар - розумний та талановитий програміст. Якщо він (і) є, порахуйте себе щасливим, що ви не зациклювались на одному з кричущих b @ & # & es, єдиним клопотом яких є захист своєї «дитини». Вони дійсно існують в природі, так що не дивуйтеся , якщо ви зіткнулися з одним.
goto
не обов’язково безлад. Є багато випадків, коли його використання цілком виправдано.