Czym jest projektowanie pomieszczeń czystych?

Projekt pomieszczeń czystych to szczególna strategia w inżynierii IT. Dzięki projektowi pomieszczenia czystego pracownicy mogą „odwrócić” program w różnych krokach proceduralnych, nie wiedząc, jak zostało pierwotnie zbudowane. Ten wsteczny proces jest podobny do rozbierania silnika lub innego złożonego urządzenia mechanicznego w celu zrozumienia, jak działa i jak jest zmontowany. Programiści robią to, „odszyfrowując” każdy krok procesu kodu i uzyskując wyraźniejszy obraz tego, jak został pierwotnie napisany.

Inny rodzaj idei programistycznej, zwany „czystym kodem”, różni się znacząco od strategii „czystego pokoju”. Czysto napisany kod jest jasny i zwięzły, z niewielką ilością lub bez zbędnego kodu. Z drugiej strony, projektowanie pomieszczeń czystych to technika manipulowania istniejącym kodem. Projekt pomieszczeń czystych był historycznie luką w zakresie praw autorskich i zarzutów naruszenia praw autorskich do produktu. Ochrona przed projektowaniem pomieszczeń czystych może, ale nie musi być skuteczna w pomaganiu firmie uniknąć odpowiedzialności za opłaty za skopiowanie jakiegoś oprogramowania lub produktu IT. Gdy sprawa dotycząca praw autorskich opiera się na wykorzystaniu „kodu prawnie zastrzeżonego”, pomocna może być obrona projektu pomieszczeń czystych.

„Ściana chińska” to termin często kojarzony z techniką projektowania pomieszczeń czystych. Ten rodzaj procedury nie obsługuje kodu zastrzeżonego. Inżynierowie, którzy nie mają wiedzy o produkcie, mogliby teoretycznie odtworzyć go za pomocą tej techniki.

Wdrażając inżynierię odwrotną do projektowania pomieszczeń czystych, profesjonaliści mogą używać narzędzia programowego zwanego „dekompilatorem”. Dekompilator ma kluczowe znaczenie dla procesu inżynierii odwrotnej ze względu na sposób, w jaki kod komputerowy jest kompaktowany i rozmieszczany na czas „czasu wykonywania”. Wiele programów komputerowych jest napisanych w językach takich jak MS Visual Basic lub „C Suite”. Kiedy są wbudowane w „pliki wykonywalne”, kod na poziomie języka zostaje uproszczony do tak zwanego kodu maszynowego. Na najbardziej podstawowym poziomie sprowadza się to do języka binarnego, składającego się wyłącznie z serii zer i jedynek.

W wielu przypadkach nie jest możliwe odtworzenie kodu maszynowego z powrotem do oryginalnego kodu poziomu języka. Jednak gdy jest to możliwe, strategia pomieszczeń czystych jest często składnikiem techniki stosowanej przez inżynierów. Przeprowadzając kod z powrotem w odwrotnym procesie, natura oryginalnego kodu może stać się oczywista.

Korzystanie z techniki pomieszczeń czystych czasami wprowadza firmy w skomplikowane sytuacje prawne dotyczące tego, co stanowi prawa własności intelektualnej do oprogramowania. Większość profesjonalistów zgodziłaby się, że lepiej jest unikać tego rodzaju sytuacji, ale w niektórych przypadkach inżynieria wsteczna może być pomocna dla firmy lub przedsiębiorstwa. Ponieważ nadejście „inżynierii open source” zmienia to, jak wiele osób patrzy na oprogramowanie, istnieje większa szansa, że ​​techniki pomieszczeń czystych i inżynieria wsteczna mogą stać się bardziej przydatne, ponieważ rygorystyczne prawa własności intelektualnej mogą zostać złagodzone dzięki zasadzie otwartego kodu źródłowego , który zakłada, że ​​kod powinien być współdzielony, a nie strzeżony przez programistów.