O GitHub é uma plataforma de hospedagem de código-fonte e arquivos com controle de versão através do Git.
Github Actions é uma API para lidar com eventos pré definidos do Github, recentemente disponibilizado para lidar com CI/CD de maneira open source.
O processo de continuos Integration(CI) consiste em automatizar a execução de validação de código antes de ser mesclado na branch principal.
Esse processo, de modo geral, realiza as tarefas de construir a aplicação, executar os testes dela e validar métricas como a cobertura de testes.
Através dessa automação, a revisão do código pode ser feita apenas sobre o código. Sem necessidade de baixar a branch, rodar o build e os testes e validar a cobertura sempre que um novo commit for enviado para revisão. …
Na área da computação diversos desenvolvedores buscam escrever o melhor código possível. Para chegar no estado da arte de software, diversos conceitos são comumente aplicados, como por exemplo princípios SOLID, padrões de projetos e outras boas práticas.
Mas, afinal, como garantir que mesmo após usar tantos conceitos o produto entregue é de fato bom?
Para responder essa pergunta, precisamos saber como é possível garantir qualidade na engenharia de software.
Uma forma comum e segura para garantir a qualidade do código é utilizar o recurso de testes automatizados.
O teste de software geralmente é a última etapa na construção de um programa, visando checar o seu nível de qualidade — exceto quando essa prática é o TDD, quando os testes são construídos antes da implementação final. …
Before the explanation about Method Swizzling, it’s important to understand what is the Swift Runtime, once it’s a key concept that enables language features like the Swizlling.
The Swift Runtime is a part of the standard library that enables behaviors while the application is running. Good examples of Those behaviors are casts, reflections, and memory allocation.
At this moment developers start to realize that those behaviors are pretty common in the development. Casts, for example, are present almost every time inheritance is used, transforming superclasses into subclasses.
All the examples given are very common, for example, a cast, that is basically the keyword as
in the code. But this is what a cast represents only in the compiling time, which leads to the next important concept. …
No desenvolvimento iOS é comum adicionarmos às nossas telas diversas especializações da classe UIControl
, como botões e sliders, para lidarmos com ações. E, para isso, costumamos adicionar targets a elas. Neste post, vamos entender o que significa tudo isso e como verificar se o target do UI Control está configurado direitinho. Bora lá?
Para lidar com ações nas classes de UIControl
no desevolvimento iOS, costumamos adicionar targets a elas, assim:
O comando de adicionar um target é realmente muito comum, mas afinal, quais são os parâmetros que passamos com ele? Para entendê-los completamente é preciso compreender um conceito muito importante do Runtime, o Selector
. …
Se você é um desenvolvedor ou desenvolvedora e acompanha o Blog da Concrete há algum tempo já sabe que os testes são parte essencial do desenvolvimento de produtos, certo? Neste post, vamos falar um pouco mais sobre os testes unitários e como garantir uma das suas características principais: o isolamento.
O teste unitário é um código que testa a menor parte testável de um sistema, a chamada unit, com o objetivo de ajudar a detectar falhas durante a fase de desenvolvimento e evitar problemas nas fases de testes de integração, além de servir como documentação para seu código e garantir que mudanças e adições não alterem o comportamento esperado do sistema já desenvolvido. …
About