Команда з науково-дослідної роботи, в якій я перебуваю, вирішила прийняти стандарт кодування. Ми лише нещодавно сформували і маємо занадто мало коду та загального власного часу кодування, щоб базувати наш стандарт / конвенційний документ на тому, що органічно склалося в нашій команді, та на хороших прикладах із власного коду тощо.
Тепер кожен з нас має певний досвід роботи з минулих робочих місць - хоча ніхто з нас не може сказати: «давайте прийняти цей тут всеосяжний документ, який я визнав, що він підходить для тієї роботи, яку ми тут робимо» (*). Плюс до цього, деякі з нас (включаючи мене) мають лише досвід роботи в місцях, де немає офіційного стандарту кодування, або пишуть різними мовами в різних умовах (виробниче середовище високого тиску щотижневого випуску на відміну від більш науково-дослідної роботи з розробки)
Отож, один із варіантів, про які я думав, - це взяти відносно відомий і добре розглянутий документ, відірвати те, що нам не цікаво / піклуватися, та внести деякі зміни, виходячи з наших уподобань.
Це звичайна практика? Чи вірите ви, що це гарна ідея? Якщо так, то що було б розумним «базовим» стандартом кодування (не кажіть мені, що найкраще, я не хочу тут починати релігійний конфлікт; просто зазначте, що було б всеосяжним чи «нейтральним», щоб розвиватись .)
Примітки:
- Ми очікуємо працювати з C, C ++, OpenCL, CUDA, Python.
- Ми - команда з 4 осіб + менеджер, який, як очікується, зросте приблизно до 5-6 протягом року.
- У нашій компанії команди майже повністю автономні і зазвичай взагалі не взаємодіють (навіть не використовуючи код один одного - робота ведеться за зовсім іншими проектами); тож - жодних міркувань для компанії.
- Щодо інструментів, на даний момент ми знаємо, що ми будемо використовувати Eclipse , тож його форматформа коду буде хоча б одним інструментом. Ctrl + Shift + F вже давно був моїм другом
- Коли я пишу Java, я прийняв практику максимально суворого дотримання ефективної Java від Bloch . Тепер це не зовсім стандарт кодування, але ви можете назвати деякі цегли, цемент і розчин для стандарту кодування. Я думав, можливо, включити щось подібне як частину "суміші" (маючи на увазі, що ми не робимо Java).
- Я маю в вигляді стандартів кодування в широкому сенсі цього слова, наприклад , приймаючи пропозиції , зроблені в відповіді на цей P.SE питання .
- Я знайшов великий список документів зі стандартом кодування C ++ ; можливо, я повинен видобути цю основу.
- (*) Це не зовсім вірно, але я не хочу ускладнювати це питання занадто великою кількістю конкретики.