Penso que o código fonte deva ser a própria documentação do software
(juntamente com os testes).
Acho muito pertinente o comentário do Giovanni que a necessidade de
comentários mostra que o código possui problemas de legibilidade,
refatoração e/ou divisão de responsabilidades, porém, existem outros
fatores.
Quando escrevo testes busco como diretriz a legibilidade, de forma que
quem for utilizar o artefato testado entenda sua utilização e como o
mesmo foi construído (Uso TDD), porém, legibilidade em código pode ser
relativo, me deparo em várias situações onde precisaria criar métodos,
porém, indireções algumas vezes reduzem a legibilidade do código no
ponto de vista de quem está aprendendo o negócio. Outro fator é a
experiência de quem está lendo o código, acredito que comentar um
return x é o cúmulo, porém, acho ideal prezar por escritas mais
simples como usar um if normal no lugar de um operador ternário.
Em um projeto que estou trabalhando atualmente precisamos substituir
um membro da equipe por um menos experiênte, o que deixou claro a
importância de um códilo legível, essa situação não é singular pois
mesmo alguns desenvolvedores experiêntes tem problemas de entender
algumas instruções escritas por arquitetos.
Não vou entrar no mérito de discutir qual linguagem é melhor ou pior,
acho que essa é a menor questão, qualquer linguagem pode ser escrita
com código legível, basta o desenvolvedor ou arquiteto ter no coração
que essa é uma boa prática.
Denis Ferrari
Arquiteto de Software
http://desenvolvimento.denisferrari.com/
On 4 set, 21:21, "Juan Pedro A. Lopes" <
zerova...@gmail.com> wrote:
> Fluent interfaces estão finalmente virando moda em C#. O Fluent
> NHibernate<
http://www.fluentnhibernate.org>é o melhor exemplo que
> consigo encontrar pra esse caso. Assim como a lista
> de discussão que se tornou a Issue 18 do projeto
> Migrator.Net<
http://code.google.com/p/migratordotnet/issues/detail?id=18>.
> Inclusive, eu mesmo comecei a trabalhar numa interface
> fluente<
http://code.google.com/p/migratordotnet-fluent/>pro projeto
> citado.
>
> O problema maior, na minha opinião, é o débito técnico da grande massa de
> desenvolvimento .NET. Na comunidade Ruby isso é menos comum. Mal comparando,
> Ruby é a Suécia e .NET é o Brasil, nesse quesito.
>
> 2009/9/5 Giovanni Bassi <
gig...@gmail.com>
>
> > Juan, é verdade!
>
> > Porque será que não é tão comum que programadores de C# pensem em APIs
> > nesse estilo, mais fluente? É cultura da comunidade Ruby, ou será que o
> > linguagens como o Ruby levam a um estilo mais legível?
>
> > []'s
>
> > Giovanni Bassi
> > Microsoft MVP, MCSD, MCPD, CSM
> > Arquiteto de software
> >
http://www.giovannibassi.com
>
> > 2009/9/4 Juan Pedro A. Lopes <
zerova...@gmail.com>