Під час роботи над кодом я стикаюся з багатьма тими ж проблемами, що і мої товариші по команді, і я написав кілька корисних функцій та занять, і так вони є. Якщо є хороша комунікація, я почую про чудову річ, яку хтось зібрав, і через півроку, коли мені це потрібно, я можу запам'ятати це і зателефонувати на цю функцію, заощаджуючи собі час. Якщо я цього не пам’ятаю або про нього ніколи не знав, я, мабуть, знову винайду колесо.
Чи існує певна практика документування таких речей? Як зробити їх легко знайти?
Якщо у вашої команди немає такої документації, як дізнатись, чи вже існує ваше колесо?
Редагувати:
Усі, окрім однієї з відповідей, поки що стосуються ідеальної ситуації, тому дозвольте підсумувати такі рішення: документація та комунікація; вікі, засідання та ін. Це все чудові речі, але вони покладаються на програмістів, які мають час (і навички) написати документацію та відвідувати засідання, робити записи та пам'ятати все.
Найпопулярніша відповідь на даний момент (Калеб) - єдина, яку може використати програміст, не здатний до документації та зустрічей, і займається лише одним: програмуванням. Програмування - це те, що робить програміст, і так, чудовий програміст може скласти документацію, одиничні тести тощо, але давайте зіткнемося з цим - більшість з нас вважає за краще програмування перед документацією. Його рішення - це те, коли програміст розпізнає код, який можна повторно використовувати, і витягує його до власного класу чи сховища або будь-якого іншого, а завдяки тому, що він ізольований, він стає знахідним і полегшує криву навчання його використання ... Це було досягнуто програмуванням.
Я певним чином бачу це: я написав три функції, і мені здається, що хтось ще повинен знати про них. Я міг би їх документувати, написати їх, оголосити на зборах тощо - що я можу зробити, але це не моя сила - або .... я можу винести їх до класу, назвати це добре, змусити їх функціонувати як чорний ящик і вставте його туди, куди йдуть файли інших класів. Тоді короткий електронний лист із повідомленням про це легко. Інші розробники можуть сканувати код і розуміти його краще, ніж вони могли б ізольовану функцію, що використовується в коді, який вони не повністю розуміють - цей контекст видалено.
Мені це подобається, тому що це означає, що набір добре названих файлів класів із добре названими методами - це хороше рішення, яке досягається хорошим програмуванням. Він не потребує зустрічей, і це пом’якшує потребу в детальній документації.
Чи є ще ідеї в цьому напрямі ... для ізольованих і напружених часом розробників?