La respuesta es, por supuesto, el idioma (y la cultura del idioma) específico.
Por ejemplo, dependiendo del idioma, todas las siguientes son apropiadas: empty-p, empty ?, empty, is_empty o isEmpty. (Estos ejemplos son, por supuesto, no inclusivos).
Los ejemplos en la pregunta original provienen de Ruby, donde tal uso? y! para finalizar los nombres de métodos son, cuando sea apropiado, aceptados. Esta aceptación proviene de 1) fácilmente accesible como terminadores de símbolos en la gramática 2) uso de? y! en la biblioteca estándar. Sin embargo, debe tenerse en cuenta que! no se usa universalmente para implicar "efecto secundario" y generalmente solo está presente en formas alternativas: guardar/guardar !, ordenar/ordenar !, etc. Hay una abrumadora cantidad de métodos que realizan efectos secundarios que no tienen el ! prefijo.
Personalmente, si estuviera diseñando un lenguaje, ¿lo permitiría?,!y 'ser caracteres finales no cotizados válidos en nombres de símbolos. A pesar de que algunos lenguajes permiten el escape de símbolos completos, como Scala, tales símbolos generalmente se evitan porque es una pena tener que citarlos para su uso.
// in Scala, esp. with Java-compat, the last form is generally used although
// the first two are perfectly valid -- do what makes sense in the language
foo.`empty?`
foo.empty_?
foo.isEmpty
Cuando en Roma ...
- Scala - `` vacío o empty_?? (no es común)
- C/C++/JS/Java/Python/Perl - ¿no? o! en identificadores; JS/Java permiten $; $ es un sigilo en Perl
- C/C++/Perl/JS - ¿Manos arriba en el aire?
- C# - IsEmpty (método o propiedad) o vacío (propiedad)
- Python - is_empty o estaVacia por Guido-guía (aunque por lo general __len__ protocolo:
if not len(foo): "empty!"
)
- Java - estaVacia por guía de idiomas
- Ruby - ¿Trailing especial? y! (¿citando?)
- JS - acceso indirecto del identificador: obj ["¿vacío?"] (no es común para esto)
- "Lisp" (convencional): vacío-p para el predicado; variaciones en el lector/cotización
Me alegro de ver las correcciones y/o adiciones - es solo una gota en una cubeta.
Ayuda ayuda! ¿Cómo puedo convertir la parte inferior de esta publicación en una "wiki de la comunidad"? –
Cualquiera puede editar su publicación, por lo que es una wiki de la comunidad. ¿Que estás tratando de hacer? Puedo incorporar estos y todos los comentarios de los demás en la pregunta original de alto nivel, por lo que hay una lista única para todos. –
Preferiblemente solo para tener la lista en la parte inferior editada. No estaba seguro de que pudiera ser editado por otros. Este stackoverflow todavía es un poco nuevo para mí. –