Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Takie nietypowe pytanko, dla osób pracujących w IT, głównie o programistów mi tutaj chodzi - czy macie w swoich firmach obowiązek pisania dokumentacji do swojego kodu? Chodzi mi o dokumentację w stylu:
http://qt-project.org/doc/qt-4.8/QLabel.html
a pytam, ponieważ jakiś czas temu, szef naszych programistów, upierał się że soft na którym działamy (a który oni tworzą) jest nieudokumentowany bo "za dużo roboty", że tak się wszędzie robi i żeby sobie... dekompilować i patrzeć jak działa (aplikacja w .NET więc zdekompilowany kod da się jako tako czytać).
Jak dotąd wszelkie książeczki które czytałem wskazywały całkiem inne podejście do tych kwestii (chociaż wszędzie za razem było napisane że jest to bardzo żmudna i nielubiana robota ;] ), tak więc ciekaw jestem jak to wygląda gdzie indziej.
Pozdro.
Offline
Ja nie mam obowiązku, ale też nie tworzę bibliotek dla programistów z innego zespołu, gdyby tak było pewnie bym to robił nawet mimo braku przymusu. Bo mówimy o sytuacji, w której używasz kodu rozwijanego przez inny zespół w tej samej firmie? Trochę zbija z tropu konieczność dekompilacji, skoro ta sama firma czemu nie masz dostępu do kodu pisanego przez inny zespół? Książeczki to utopia gdy rządny zysków kierownik projektu tnie czas gdzie się da by dostać premie ;] W sporej części firm mniej ważne jest jak ważne jak szybko. Potem się kończy na tym, że mamy byle jak i niewiele z tym się da zrobić nie ważne jak dużo czasu potem by w to włożył.
Offline
Sytuacja wygląda tak że na naszym sofcie piszemy aplikacje, soft jest wewnętrznym narzędziem firmy, i aby cokolwiek dopisać do aplikacji tworzonej na nim (np. kontrolkę, czy tam jakąś klasę) trzeba wiedzieć co i jak z czym połączyć, co gdzie wrzucić i co za metody zaimplementować. A braków jest sporo i najczęściej wygląda to tak że chcąc coś zrobić musimy nieźle natruć tyłki programistom którzy to narzędzie tworzą, a oni często nie mają czasu, albo samemu nie wiedzą dokładnie co i jak (bo dawno robili, bo ten kto to robił już nie pracuje itd.). Wszystko to kończy się tym że nam motywacja do pisania czegoś własnego szybko "uchodzi", do tego spowalnia to rozwój całej platformy i wprowadza zamęt (już o takich rzeczach jak per update utrata części kompatybilności wstecznej nie wspominając).
Stąd pytałem kierownika programistów czy nie mogli by pisać dokumentacji na takim poziomie aby ktoś z zewnątrz się w to szybko wdrożył, na co usłyszałem że w kodzie (tak do kodu dostęp mamy, tyle że wdrażania się w niego bez dokumentacji to są miesiące jak nie lata, zakładając że nie robi się nic innego) są komentarze i to im wystarcza, a poza komentarzami to oni sobie dekompilują i patrzą jak co działa, że dokumentacji na poziomie chociażby MSDN to oni pisać nie będą bo czasu nie mają itd. itp.
Od tamtej pory mnie nurtuje czy w innych firmach jest podobnie - w kilku książkach raczej doświadczonych programistów często idzie wyczytać że brak dobrej dokumentacji prędzej czy później wyjdzie i będzie odczuwalny przez wszystkich. Ba jakiś czas temu czytałem że takie coś potrafi "zarżnąć" dobrze prosperujące systemy, bo nawet ludzie którzy je tworzyli po kilku miesiącach będą mieli problem z połapaniem się co oni tam robili, co podnosi koszty, wydłuża czas i pogarsza jakość itd.
Nie wiem może mam jakieś kosmiczne wymagania, ale skoro w otwartych projektach kilka osób potrafi pisać całkiem niezłą dokumentację, to w firmie nie powinno być podobnie?
Ostatnio edytowany przez Huk (2012-04-14 20:57:44)
Offline
[quote=Huk]Ba jakiś czas temu czytałem że takie coś potrafi "zarżnąć" dobrze prosperujące systemy, bo nawet ludzie którzy je tworzyli po kilku miesiącach będą mieli problem z połapaniem się co oni tam robili, co podnosi koszty, wydłuża czas i pogarsza jakość itd.[/quote]
To tyczy się każdej branży, brak prowadzenia dokumentacji i opieranie się tylko na ludziach, którzy aktualnie przy czymś pracują bo "jakoś się to będzie pamiętało" zawsze wcześniej czy później odbije się na całości, albo wpakuje kogoś w czarną "wiadomo jaką część ciała".
Offline
Ja bym szukał nowej pracy jakbym musiał grzebać w takim ... Szkoda czasu. Podał byś nazwę firmy na priva coby omijać ;]
Offline
U mnie w robocie tez z dokumentacją do niektórych rzeczy cienko ;/. Teraz to mam do ogarnięcia jeden program to i z komentarzami nie za bardzo ;|.
Offline
u mnie tylko to co skomplikowane.
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00100 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.218.76.193' WHERE u.id=1 |
0.00059 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.218.76.193', 1732476184) |
0.00040 | SELECT * FROM punbb_online WHERE logged<1732475884 |
0.00043 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=21061 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00164 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=21061 ORDER BY p.id LIMIT 0,25 |
0.00082 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=21061 |
Total query time: 0.00507 s |