Esto fue algo originalmente discutido durante una presentación dada por Charles Brian Quinn del Big Nerd Ranch al acts_as_conference. Hablaba de lo que había aprendido al impartir un Ruby on Rails Bootcamp a mucha gente nueva en programación y nueva en Rails.Para foo bar, o no para foo bar: esa es la pregunta
Una diapositiva particular que se destacó fue a lo largo de las líneas de nunca utilizando foo y barra como ejemplos cuando se intenta enseñar a alguien a programar. Su razonamiento fue muy simple.
¿Qué es más fácil de entender?
baz = foo + bar
o
answer = first_number + second_number
Ha sucedido muchas veces a mí mismo cuando explica algo y de inmediato salta a la marcha a foo marcadores de posición de la barra, pero luego darse cuenta de mi error y hacer que el ejemplo tiene mucho más sentido mediante el uso de un escenario del mundo real.
Esto es especialmente aplicable cuando se trata de enseñar a alguien que no ha tenido exposición de programación y termina necesitando explicar foo y barra antes de explicar lo que realmente está tratando de enseñar.
Sin embargo, usar foo y barra para programadores experimentados parece estar bien, aunque personalmente creo, junto con Charles, que es algo que debe cambiar.
Una búsqueda rápida de SO para "foo" devuelve más de 20 páginas de resultados con foo que se usa de más formas que puedo comprender. Y en algunos casos, cuando estoy leyendo una pregunta en un idioma en particular, lo hago para ayudar a entender mejor ese idioma. Si se usan nombres de variable aplicables en lugar de foo y bar, es mucho más fácil comprender e interpretar el problema. Entonces, para los desarrolladores experimentados, la construcción parece un poco defectuosa también.
¿Es este un hábito que alguna vez podrá ser pateado? ¿Por qué eliges foo bar o no foo bar?
Gran pregunta. (+1) –
Intenta enseñarle a la gente a utilizar buenos nombres de variables y lo primero que hace es lanzarles "foo and bar". Puedo decir que esto es más frustrante para los que no hablan inglés ya que se confunden y no entienden lo que es foo y bar, y pueden pensar que foo y bar son construcciones de lenguaje. –