Lab C++

Codificação Eficiente

Não basta conhecer a sintaxe, é preciso conhecer a linguagem, saber a melhor forma de fazer.

Tags: qualidade

Trocar Valor de Variáveis

Esse exercício é muito interessante, apesar de ser pouco usual, pessoalmente nunca vi um caso em que isso realmente necessário.

A proposta do exercício é trocar o valor de duas variáveis int, ou derivadas, sem utilizar uma terceira variável. Como a maioria dos exercícios mal elaborados existe a forma esperada e a forma inesperada, mas que entrega o mesmo resultado.

(mais…)

Evitando Hadouken de Ifs

Hadouken de Ifs nasceu de um meme, ilustrado abaixo. Basicamente é um conjunto de ifs aninhados, normalmente um conjunto de validações, que, por conta de inexperiência ou inabilidade do desenvolvedor, acaba por formar uma estrutura difícil de compreender e consequentemente mais difícil de ser mantida, implicando em maiores custos de manutenção do código.

(mais…)

KISS: Uma Grande Herança do Unix

O acrônimo KISS tem várias traduções mas um único significado: “Keep It Simple Stupid”, “Keep It Simple, Soldier”, “Keep It Simple, Sir”, etc. O significado é um só: Mantenha a solução simples, foco na simplicidade. A linguagem C está intimamente ligada com esse conceito, assim como o Unix. Não é a primeira vez que falamos sobre a simplicidade, o assunto já foi abordado no post sobre As Bases da Filosofia Unix, mas dessa vez vamos explorar mais este assunto.

(mais…)

lint – Avaliando a Qualidade do Código

lint, ou linter, é um software originalmente desenvolvido em 1978 com o intuito de apontar, através de análise estática do código, falhas que pudessem levar a problemas no software. Originalmente disponível somente para linguagem C, hoje em dia é sinônimo de analizador estático de código para qualquer linguagem.

(mais…)

As Bases da Filosofia Unix – Parte 4

Hoje a última das quatro partes sobre as bases da filosofia Unix, conforme Eric S. Raymond. E para fechar com chave de ouro cinco regras que vão auxiliar no desenvolvimento de sistemas mais robustos.

(mais…)

As Bases da Filosofia Unix – Parte 3

Dando continuidade ao último post, hoje vamos conhecer mais quatro, das dezessete, regras das bases da filosofia Unix, conforme Eric S. Raymond em seu livro The Art of Unix Programming.

(mais…)

As Bases da Filosofia Unix – Parte 2

Dando continuidade ao último post, hoje vamos conhecer mais quatro regras das bases da filosofia Unix, conforme Eric S. Raymond em seu livro The Art of Unix Programming.

(mais…)

Bases da Filosofia Unix – Parte 1

Um sistema operacional que se mantém vivo há quase 50 anos, se manteve firme e estável desde então, concorrendo com diversos sistemas operacionais. Iniciado em 1973, chegando ao mainstream do desktop em 2001 com o MacOS X; chegando aos smartphones em 2008, com o Android; e indicado por alguns especialistas como o futuro dos sistemas operacionais.

Com tantos atributos de sucesso, vale a pena estudar sua filosofia de desenvolvimento. O livro The Art of Unix Programming, de Eric S. Raymond (ESR), é um dos estudo mais completos sobre o assunto. Logo nos primeiros capítulos define 17 regras que resumem as bases da filosofia Unix.

Hoje vamos começar uma série de quatro posts diferentes aonde vamos abordar as bases da filosofia Unix, conforme ESR, em 17 regras.

(mais…)

Atenção à Documentação

Já trabalhei em equipes que eram extremamente detalhistas, mas também trabalhei em equipes que praticamente não tinham documentação, nem mesmo funcional, ou mesmo manuais. Mas a falta de atenção a documentação pode causar problemas de qualidade e estabilidade em um sistema.

(mais…)

A Importância das Estruturas de Dados

Qualquer curso de desenvolvimento, seja curso livre, técnico, ou superior, começa a ensinar desenvolvimento ensinando algoritmos. Natural, uma vez que a maioria das pessoas não conhece como funciona código estruturado.

O que raramente é ensinado é a importância das estruturas de dados para o desenvolvimento de software, isso reflete em muitos projetos, muitas vezes profissional, que sofrem pela falta de estruturação dos dados.

(mais…)