109: (Default)
[personal profile] 109
расту; буду теперь местных архитекторов учить архитектуру архитектурить. сегодня на сборище лидов раком встал вопрос: как узнать, кто от тебя зависит? не свои dependencies, а наоборот. а то, мол, поменяешь что-нибудь, а потом из соседнего отдела прибегают: вы нам сломали.

уже от самой постановки вопроса волосы у меня на голове зашевелились. хотя я, в принципе, был подготовлен недавним разговором в кулуарах на подобную тему. в разговоре многократно, со вкусом и в самых неожиданных позициях употреблялся термин "наш API", пока грубый Корнеев не спросил "how do you define your API?" оказалось, что слово API используется в качестве синонима "все наши public методы".

буду теперь думать, как задефайнить API более технологически продвинутым способом, нежели предложенный на сборище лидов (приказать всем использующим API заполнять эксельную таблицу списком использованных методов).

(no subject)

Date: 2008-06-19 03:43 pm (UTC)
From: [identity profile] ivanvr.livejournal.com
>как узнать, кто от тебя зависит? не свои dependencies, а наоборот. а то, мол, поменяешь что-нибудь, а потом из соседнего отдела прибегают: вы нам сломали.

ещё бывает когда кто-то начинает пользоваться не задокументированными методами, которые просто были в разработке и не должны были использоваться. Т.е. вроде как ты думаешь, что никто в продакшн не пользуется этим и спокойно переименовываешь/удаляешь, а потом прибегают...

(no subject)

Date: 2008-07-07 04:12 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
а зачем было делать их public?

(no subject)

Date: 2008-07-07 04:14 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
A чем плох подход, который был в старом ActiveX - как только сделали что-то public, ни метод, ни его сигнатура меняться уже не должны; если нужно что-то сильно поменять, рисуйте новый интерфейс (откуда росли ноги у всяких там IDocument2)?

(no subject)

Date: 2008-07-07 05:38 pm (UTC)
From: [identity profile] ivanvr.livejournal.com
Вцелом, в правы.

В этом случае: маленькая компания. вот всё и "пабик".

(no subject)

Date: 2008-07-07 09:28 pm (UTC)
From: [identity profile] 109.livejournal.com
в моём случае подсистема состоит из двух десятков ассемблей. поэтому чтобы эти ассембли могли взаимодействовать, нужны публичные члены. тем не менее далеко не все публичные члены всех ассемблей должны входить в API подсистемы. проблема в том, как это формализовать технически.

(no subject)

Date: 2008-07-07 09:32 pm (UTC)
From: [identity profile] 109.livejournal.com
проблема в том, чтобы, в первую очередь, разделить понятия "API подсистемы" и "совокупность всех публичных членов". эти два множества сильно различаются по размеру. с тем, чтобы сделать API immutable, у меня проблем нет.

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags