Uma abordagem semiótica para apoiar programadores iniciantes durante o processo de reúso e de apropriação de códigos-fonte - Müller , Luana (2017)
Durante o processo de desenvolvimento de software, a prática de reúso é comumente utilizada por diversos motivos e de diversas formas. Dentre estas formas, destaca-se a cópia de trechos de códigos-fonte, desenvolvidos por outros programadores, que são incorporados a um novo código-fonte e adaptados para se adequar ao novo contexto. No entanto, apesar de o programador conseguir atingir desta forma seus objetivos, muitas vezes ele realiza este reúso sem compreender o código-fonte reusado, e, por consequência, sem compreender seu próprio código-fonte, criado com reúso. Embasando-nos na teoria da Engenharia Semiótica, sob a perspectiva da área de Human Centered Computing, observamos este código-fonte como uma interface que entrega ao seu usuário (neste caso, o programador que está reusando um código-fonte) uma mensagem implícita do designer (neste caso, o programador que escreveu o código-fonte sendo reusado) e observamos que podem haver diversas implicações comunicativas decorrentes da falta de compreensão do designer sobre a mensagem que está sendo emitida. Essas implicações fazem-se ainda mais presentes no caso dos programadores iniciantes, que ainda estão construindo seu pensamento computacional. Nesta tese, conduzimos uma investigação sobre como e porque programadores iniciantes reusam códigos-fonte e como interpretam seus códigos-fonte quando estes foram construídos reusando outros códigos-fonte. Além disso, oferecemos uma ferramenta conceitual baseada no template de metacomunicação da Engenharia Semiótica para apoiar estes programadores na compreensão e apropriação de trechos de códigos-fonte para reúso. Observamos, através dos estudos para análise da ferramenta, que ela pode não apenas apoiar os programadores na compreensão dos códigos-fonte, mas, também, em sua reflexão sobre questões não comumente pensadas, relacionadas a aspectos comunicativos destes códigos. Esperamos que esta reflexão os conscientize da importância destes aspectos, em um cenário em que seus códigos podem ser, em algum momento, reusados por outros programadores, em um ciclo contínuo de desenvolvimento e comunicação.