?

Log in

No account? Create an account
November 2016   01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
cartoon

Читай код

Posted on 2009.05.03 at 16:01

Comments:


Енотинька
raccoon at 2009-05-04 12:27 (UTC) (Link)
Поддержу предыдущего оратора.

Кроме необходимости введения в курс дела новичков, иногда в жизни случаются такие нестандартные ситуации, когда - не дай Бог - в компании предстоит:

а. Локализация. Не тот убогий перевод ресурсных файлов на чужой язык с последующим тестированием, а переделка вполне себе промышленной системы, разнообразный код которой написан на четырех-пяти языках, и черт там ногу сломит, где, в какой именно функции реализованы вычисления вооот этого вот расчетного параметра, который "у них" измеряется в фунтах на квадратный дюйм, а у нас - в паскалях...
Я помню, как я чертыхалась, связавшись с одной такой локализацией в сжатый срок. Низкоуровневые принципы устройства кода и стандарты кодирования там отсутствовали напрочь. И читать весь код приходилось мне. Правда, в отсутствии консультанта, который мог бы подсказать мне, куда надо было смотреть (это препятствие - следствие корпоративного идиотизма, а не чьей-то извращенной и злой воли).

b. Покупка компании или части ее акций другой компанией, а также разнообразные "слияния и поглощения", весьма модные в наши времена. Аудит, анализ кода, рефакторинг. За всю свою историю жизни в IT я четырежды переживала такой бедлам. Наученная печальным опытом, на предпоследнем месте работы начала процесс документирования системной архитектуры "с самого начала". И как в воду глядела: ходят слухи, что недалек тот день, когда две компании, ведущие разработки в смежных областях, сольются.

c. Наконец, "это просто удобно". Особенно - если мы пишем не систему для автоматизации бизнес-процессов компании "Unique International", а вполне себе коробочный продукт, а еще лучше - систему, из которой при некоторой "доработке напильником" может получиться система, скажем, следящая за действиями сотрудников корпорации в Интернете, а может - система, собирающая статистику для контекстной рекламы; и две системы, имеющие общее архитектурное ядро, разделятся на два самостоятельных проекта, каждый из которых живет своей собственной внутренней жизнью, но тем не менее обязан поддерживать совместимость с "партнером", у которого существуют свои собственные стратегические задачи. У Microsoft, кстати, существовала в давние времена похожая проблема, когда они вели совместные разработки с Sybase (как всем известно, MS SQL Server изначально - это всего лишь клон Sybase SQL Server, и до 4-ой с какой-то точкой версии MS SQL Server - если мне не изменяет память, то до 4.9 - Microsoft и Sybase SQL Server имели очень много общего кода и согласовывали друг с другом все вносимые в этот код изменения; полный доступ к собственному коду, разумеется, ни одна из конкурирующих компаний своему партнеру не предоставляла).
=========================================================
d. Разумеется, любое документирование системной архитектуры, в соответствии с любыми выбранными стандартами, не отменяет необходимости включать голову и читать код.

Я думаю, что beskov как раз говорит не об отмене данной необходимости, а лишь о ее облегчении.
Previous Entry  Next Entry