Lab C++

Codificação Eficiente

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

Categoria: Dicas Profissionais

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…)

Combinatória Recursiva em C

Recentemente encontrei um usuário no Reddit pedindo pra resolver uma questão sobre análise combinatória em C utilizando recursão. O exercício pedia que fosse feito um programa em C que exibisse no terminal todas as combinações possíveis de três caracteres, utilizando as letras a, b e c.

É um exercício clássico de recursividade, mas é muito bom pra ir além de calcular o fatorial.

(mais…)

A Simplicidade do if-elseif

Mais um caso que didaticamente faz muito sentido, mas a realidade é um pouco diferente. Como a maioria reagiria à afirmação de que não existe a estrutura if-elseif na linguagem C? Pois não existe mesmo e é fácil de comprovar.

(mais…)

Por que “foo” e “bar”?

Dificilmente alguém que estuda programação vai deixar de ver em algum momento, em alguma documentação, livro, ou exemplo essas variáveis: foo e bar. Mas por que essas variáveis são encontradas em tantos lugares? Por que são utilizadas em exemplos? E principalmente, posso utilizar essas variáveis no meu 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…)

C++: História e Versões

Semana passada falamos sobre a história e as versões da linguagem C, hoje vamos falar sobre C++. Assim como a linguagem C, muitos novatos acham que a linguagem C++ é desatualizada e pouco utilizada, mas não sabe que é uma das linguagens mais utilizadas do mundo, e peça chave no desenvolvimento de muitos softwares recentemente desenvolvidos.

(mais…)

C: História e Versões

A linguagem C é uma das mais antigas e populares na história da computação. Muitos iniciantes desvalorizam a linguagem por ela ser antiga, ou datada, mas ela vem evoluindo há quase 50 anos, mantendo-se sempre relevante. Lembro, inclusive, no final dos anos 90, a então relevante Info Exame, ditando o fim das linguagens C e C++, ledo engano.

(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…)