O que é design de sala limpa?
Um design de sala limpa é uma estratégia específica em engenharia de TI. Com um design de sala limpa, os trabalhadores podem “fazer engenharia reversa” de um programa de software em várias etapas processuais, sem saber como ele foi originalmente construído. Esse processo atrasado é semelhante a desmontar um motor ou outro dispositivo mecânico complexo para entender como ele funciona e como é montado. Os programadores fazem isso “decifrando” cada etapa de um processo de código e obtendo uma imagem mais clara de como foi originalmente escrito.
Outro tipo de idéia de programação chamada "código limpo" difere criticamente da estratégia de sala limpa. Um código bem escrito é claro e conciso, com pouco ou nenhum código supérfluo. Um design de sala limpa, por outro lado, é uma técnica para manipular o código existente. O design da sala limpa tem sido historicamente uma brecha em torno das leis de direitos autorais e das acusações de violação de direitos autorais de produtos. A defesa do design da sala limpa pode ou não ser eficaz para ajudar uma empresa a evitar a responsabilidade por cobranças pela cópia de algum tipo de software ou produto de TI. Quando o caso de direitos autorais se baseia no uso de "código proprietário", uma defesa de design de sala limpa pode ser útil.
"Muralha da China" é um termo frequentemente associado à técnica de design de sala limpa. Esse tipo de procedimento não processa código proprietário. Engenheiros que não têm conhecimento de um produto podem recriá-lo teoricamente usando essa técnica.
Na implementação da engenharia reversa do projeto de sala limpa, os profissionais podem usar uma ferramenta de software chamada “descompilador”. O descompilador é essencial para o processo de engenharia reversa, devido à maneira como o código do computador é compactado e reorganizado para “tempo de execução”. Muitos os programas de computador são escritos em idiomas como o MS Visual Basic ou o “C Suite”. Quando incorporados aos “executáveis”, o código no nível do idioma é simplificado para o que é chamado de código de máquina. No nível mais básico, isso se resume à linguagem binária, composta apenas por uma série de uns e zeros.
Em muitos casos, não é possível fazer a engenharia reversa do código de máquina novamente no código de nível de idioma original. Quando é possível fazer isso, no entanto, a estratégia de sala limpa geralmente é um componente da técnica usada pelos engenheiros. Retornando o código por um processo reverso, a natureza do código original pode se tornar óbvia.
A utilização da técnica de sala limpa às vezes leva as empresas a situações jurídicas complicadas sobre o que constitui direitos intelectuais a produtos de software. A maioria dos profissionais concorda que é melhor evitar esse tipo de situação, mas, em alguns casos, a engenharia reversa pode ser útil para uma empresa ou empresa. À medida que o advento da “engenharia de código aberto” muda quantas pessoas olham para o software, há mais chances de que as técnicas de sala limpa e a engenharia reversa se tornem mais úteis, pois as rigorosas leis de propriedade intelectual podem ser relaxadas devido ao princípio do código de código aberto , que postula a ideia de que o código deve ser compartilhado e não protegido pelos programadores.