Skip to content

Commit

Permalink
Merge branch 'rwaldron:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
rcherny authored Jan 9, 2022
2 parents 3565bd8 + d884325 commit aceb8a3
Show file tree
Hide file tree
Showing 21 changed files with 2,764 additions and 45 deletions.
1 change: 1 addition & 0 deletions contributors.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@
* Richard Gibson [@gibson042](http://twitter.com/gibson042), [github](https://github.com/gibson042)
* Fesuy [github](https://github.com/fesuydev)
* Stephane Moreau [github](https://github.com/stmoreau)
* Akshat Joshi [@akshat_joshi](http://twitter.com/akshat_joshi), [github](https://https://github.com/akshatjoshii)
10 changes: 7 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
* Richard Gibson [@gibson042](http://twitter.com/gibson042), [github](https://github.com/gibson042)
* Fesuy [github](https://github.com/fesuydev)
* Stephane Moreau [github](https://github.com/stmoreau)
* Boris Nekezov [github](https://github.com/boris-nekezov)
* Akshat Joshi [@akshat_joshi](http://twitter.com/akshat_joshi), [github](https://https://github.com/akshatjoshii)


## All code in any code-base should look like a single person typed it, no matter how many people contributed.
Expand All @@ -56,6 +58,7 @@

## Translations

* [Bulgarian](https://github.com/rwldrn/idiomatic.js/tree/master/translations/bg_BG)
* [German](https://github.com/rwldrn/idiomatic.js/tree/master/translations/de_DE)
* [French](https://github.com/rwldrn/idiomatic.js/tree/master/translations/fr_FR)
* [Spanish](https://github.com/rwldrn/idiomatic.js/tree/master/translations/es_ES)
Expand All @@ -70,13 +73,14 @@
* [Serbian - latin alphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/sr_SR)
* [繁體中文](https://github.com/rwaldron/idiomatic.js/tree/master/translations/zh_TW)
* [Indonesian](https://github.com/rwaldron/idiomatic.js/tree/master/translations/id_ID)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Hindi](https://github.com/rwaldron/idiomatic.js/tree/master/translations/hi_HI)

## Important, Non-Idiomatic Stuff:

### Code Quality Tools, Resources & References

* [JavaScript Plugin](http://docs.codehaus.org/display/SONAR/JavaScript+Plugin) for [Sonar](http://www.sonarsource.org/)
* [SonarQube](https://www.sonarqube.org/)
* [Plato](https://github.com/es-analysis/plato)
* [jsPerf](http://jsperf.com/)
* [jsFiddle](http://jsfiddle.net/)
Expand All @@ -98,7 +102,7 @@

The following should be considered 1) incomplete, and 2) *REQUIRED READING*. I don't always agree with the style written by the authors below, but one thing is certain: They are consistent. Furthermore, these are authorities on the language.

* [Baseline For Front End Developers: 2015](http://rmurphey.com/blog/2015/03/23/a-baseline-for-front-end-developers-2015/)
* [Baseline For Front End Developers: 2015](https://rmurphey.com/posts/a-baseline-for-front-end-developers-2015/)
* [Eloquent JavaScript](http://eloquentjavascript.net/)
* [JavaScript, JavaScript](http://javascriptweblog.wordpress.com/)
* [Adventures in JavaScript Development](http://rmurphey.com/)
Expand Down
1,317 changes: 1,317 additions & 0 deletions translations/bg_BG/readme.md

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions translations/de_DE/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
* Duc Nguyen [@ducntq](https://twitter.com/ducntq), [github](https://github.com/ducntq)
* James Young [@jamsyoung](http://twitter.com/jamsyoung), [github](https://github.com/jamsyoung)
* Stephane Moreau [github](https://github.com/stmoreau)

* Boris Nekezov [github](https://github.com/boris-nekezov)
* Akshat Joshi [@akshat_joshi](http://twitter.com/akshat_joshi), [github](https://https://github.com/akshatjoshii)

## Code sollte grundsätzlich so aussehen, als wäre er von einer einzigen Person geschrieben worden, völlig egal, wie viele letztlich daran gearbeitet haben.

Expand All @@ -40,6 +41,7 @@
## Übersetzungen

* [ORIGINAL](https://github.com/rwldrn/idiomatic.js/)
* [Bulgarian](https://github.com/rwldrn/idiomatic.js/tree/master/translations/bg_BG)
* [German](https://github.com/rwldrn/idiomatic.js/tree/master/translations/de_DE)
* [French](https://github.com/rwldrn/idiomatic.js/tree/master/translations/fr_FR)
* [Spanish](https://github.com/rwldrn/idiomatic.js/tree/master/translations/es_ES)
Expand All @@ -52,7 +54,8 @@
* [简体中文](https://github.com/rwldrn/idiomatic.js/tree/master/translations/zh_CN)
* [Serbian - cyrilic alphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/ср_СР)
* [Serbian - latin aplphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/sr_SR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Hindi](https://github.com/rwaldron/idiomatic.js/tree/master/translations/hi_HI)

## Wichtiger, nicht-idiomatischer Kram:

Expand Down
48 changes: 26 additions & 22 deletions translations/es_ES/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@
* Duc Nguyen [@ducntq](https://twitter.com/ducntq), [github](https://github.com/ducntq)
* James Young [@jamsyoung](http://twitter.com/jamsyoung), [github](https://github.com/jamsyoung)
* Stephane Moreau [github](https://github.com/stmoreau)

* Boris Nekezov [github](https://github.com/boris-nekezov)
* Akshat Joshi [@akshat_joshi](http://twitter.com/akshat_joshi), [github](https://https://github.com/akshatjoshii)


## Todo el código en cualquier proyecto debería verse como si una sola persona lo hubiera escrito, sin importar cuánta gente haya contribuído.
Expand All @@ -53,6 +54,8 @@

## Traducciones

* [ORIGINAL](https://github.com/rwldrn/idiomatic.js/)
* [Bulgarian](https://github.com/rwldrn/idiomatic.js/tree/master/translations/bg_BG)
* [German](https://github.com/rwldrn/idiomatic.js/tree/master/translations/de_DE)
* [French](https://github.com/rwldrn/idiomatic.js/tree/master/translations/fr_FR)
* [Spanish](https://github.com/rwldrn/idiomatic.js/tree/master/translations/es_ES)
Expand All @@ -66,6 +69,7 @@
* [Serbian - cyrilic alphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/ср_СР)
* [Serbian - latin aplphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/sr_SR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Hindi](https://github.com/rwaldron/idiomatic.js/tree/master/translations/hi_HI)


## Cosas importantes, no relacionadas directamente con el JS idiomático:
Expand Down Expand Up @@ -108,9 +112,9 @@ Los proyectos deberían tratar de incluir siempre algún mecanismo para que el c

### Testing

Los proyectos _deben_ incluir alguna forma de testing (test unitario, test funcional, etc). Las demos NO CUENTAN como "tests". A continuación, una lista de frameworks para testing, ninguno de los cuales recomiendo más que otro.
Los proyectos _deben_ incluir alguna forma de prueba (test unitario, test funcional, etc). Las demos NO CUENTAN como "tests". A continuación, una lista de frameworks para testing, ninguno de los cuales recomiendo más que otro.

* [QUnit](http://github.com/jquery/qunit)
* [QUnit](https://github.com/jquery/qunit)
* [Jasmine](https://github.com/pivotal/jasmine)
* [Vows](https://github.com/cloudhead/vows)
* [Mocha](https://github.com/visionmedia/mocha)
Expand All @@ -123,7 +127,7 @@ Los proyectos _deben_ incluir alguna forma de testing (test unitario, test funci

* [Espacios en blanco](#whitespace)
* [Beautiful Syntax](#spacing)
* [Checkeo de tipos (Cortesía de la guía de estilo de jQuery)](#type)
* [Comprobación de tipos (Cortesía de la guía de estilo de jQuery)](#type)
* [Evaluación condicional](#cond)
* [Estilo práctico](#practical)
* [Naming](#naming)
Expand All @@ -139,7 +143,7 @@ Los proyectos _deben_ incluir alguna forma de testing (test unitario, test funci

## Prólogo

Las siguientes secciones delinean una guía de estilos _razonable_ para desarrollo moderno de JavaScript, y no intentan ser prescriptivas. Lo más importante es la **ley de consistencia de estilo de código**. Cualquiera sea el estilo que escojas para tu proyecto debería ser considerado ley. Piensa en este documento como una declaración del compromiso para con la consistencia de estilo, legibilidad y mantenibilidad.
Las siguientes secciones delinean una guía de estilos _razonable_ para un desarrollo moderno de JavaScript, y no intentan ser prescriptivas. Lo más importante es la **ley de consistencia de estilo de código**. Cualquiera sea el estilo que escojas para tu proyecto debería ser considerado ley. Piensa en este documento como una declaración del compromiso para con la consistencia de estilo, legibilidad y mantenibilidad.



Expand Down Expand Up @@ -344,7 +348,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
// Expresión de función con identificador
// Esta forma es preferida porque tiene el valor agregado de
// poder ser llamada a sí misma y ser identificable en el seguimiento de la pila (MUY útil para debugging) :
// poder ser llamada a sí misma y ser identificable en el seguimiento de la pila (MUY útil para debugging):
var factorial = function factorial( number ) {
if ( number < 2 ) {
return 1;
Expand Down Expand Up @@ -377,7 +381,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
// 2.C.1.1
// Funciones con callbacks
foo(function() {
// Como se ve no hay espacio entre el primer paréntesis
// Como se ve, no hay espacio entre el primer paréntesis
// y la palabra "function"
});
Expand All @@ -404,7 +408,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
D. La consistencia siempre gana

En las secciones 2.A-2.C, las reglas para los espacios son puestas con un objetivo más simple y con un propósito más general: consistencia.
Es importante destacar que algunas preferencias de formato, deberían ser consideradas opcionales, pero solo un estilo debería existir a través de todo el código de fuente de tu proyecto.
Es importante destacar que algunas preferencias de formato, deberían ser consideradas opcionales, pero solo un estilo debería existir a través de todo el código fuente de tu proyecto.

```javascript
Expand Down Expand Up @@ -432,13 +436,13 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol

E. Comillas

Si prefieres comillas simples o dobles no debería importar, no hay diferencias en como JavaScript las parsea. Lo que **ABSOLUTAMENTE DEBE** ser cumplido es la consistencia. **Nunca mezclar comillas en el mismo proyecto. Elegir un estilo y cumplirlo.**
Si prefieres comillas simples o dobles no debería importar, no hay diferencias ya que JavaScript las parsea. Lo que **ABSOLUTAMENTE DEBE** ser cumplido es la consistencia. **Nunca mezclar comillas en el mismo proyecto. Elegir un estilo y cumplirlo a rajatabla.**

F. Fin de línea y líneas vacías

Espacios en blanco pueden arruinar diffs y hacer los cambios imposibles de leer. Considera agregar algún mecanismo para remover automáticamente los espacios que se encuentran al final de la línea o en líneas vacías.

3. <a name="type">Checkeo de tipos (Cortesía de la guía de estilo de jQuery)</a>
3. <a name="type">Verificación de tipos (Cortesía de la guía de estilo de jQuery)</a>

A. Tipos

Expand Down Expand Up @@ -516,12 +520,12 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
...
// En algún lugar, más tarde en tu código, necesitas modificar `foo`
// con un nuevo valor derivado de el elemento input del HTML
// con un nuevo valor derivado del elemento input del HTML
foo = document.getElementById("foo-input").value;
// Si vas a testear `typeof foo` ahora, el resultado sería `string`
// Esto significa que si hubieras tenido lógica que comparara `foo` así:
// Esto significa que si hubieras tenido lógica que comparar `foo` así:
if ( foo === 1 ) {
Expand Down Expand Up @@ -638,7 +642,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
// false
// Nótese que el ejemplo anterior debería ser considerado "innecesariamente inteligente"
// Prefiérase el approach obvio de comparar el valor retornado de
// Prefiérase el método obvio de comparar el valor retornado de
// indexOf, como en:
if ( array.indexOf( "a" ) >= 0 ) {
Expand All @@ -665,7 +669,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
// Todos resultan en 2
// Tener en cuenta que números negativos serán tratados de otra manera...
// Tener en cuenta que los números negativos serán tratados de otra manera...
var neg = -2.5;
Expand Down Expand Up @@ -754,7 +758,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
// 4.1.7
// Cuando solamente se esta evaluando una referencia que puede ser null o undefined, pero NO false, "" or 0,
// Cuando solamente se está evaluando una referencia que puede ser null o undefined, pero NO false, "" or 0,
// en lugar de:
if ( foo === null || foo === undefined ) ...
Expand All @@ -766,7 +770,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
null == undefined
```
SIEMPRE evaluar por el mejor, más preciso resultado - lo de arriba es sólo una guía, no un dogma.
SIEMPRE evaluar por el mejor, por el resultado más preciso - lo de arriba es sólo una guía, no un dogma.

```javascript
Expand Down Expand Up @@ -886,7 +890,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol



A. Si no eres un compilador/compresor humano de código, no te esfuerces por de serlo.
Si no eres un compilador/compresor humano de código, no te esfuerces por serlo.

A continuación ejemplos "tristes" de nombramiento de variables

Expand Down Expand Up @@ -988,13 +992,13 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
stream.read( opts.path, function( data ) {
// Actualizar el valor de la instancia
// con el valor mas reciente del
// con el valor más reciente del
// data stream
this.value = data;
}.bind(this) );
// Regular la frecueancia de eventos emitidos de
// Regular la frecuencia de eventos emitidos de
// esta instancia de Device
setInterval(function() {
Expand Down Expand Up @@ -1129,7 +1133,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol

7. <a name="misc">Varios</a>

Esta sección servirá para describir ideas y conceptos que no deberían se considerados dogmas, pero existen para alentar a cuestionarse prácticas, en un intento para encontrar mejores maneras de llevar a cabo tareas comunes de programación en JavaScript.
Esta sección servirá para describir ideas y conceptos que no deberían ser considerados dogmas, pero existen para alentar a cuestionarse prácticas, en un intento para encontrar mejores maneras de llevar a cabo tareas comunes de programación en JavaScript.

A. El uso de `switch` debería ser evitado, ya que los métodos modernos de tracing marcarán como negativas las funciones que contengan sentencias `switch`.

Expand Down Expand Up @@ -1158,7 +1162,7 @@ Las siguientes secciones delinean una guía de estilos _razonable_ para desarrol
// 7.A.1.2
// Una manera alternativa que soporta componibilidad y reusabilidad es
// usar un objeto para guardad "cases" y una función para delegar:
// usar un objeto para guardar "cases" y una función para delegar:
var cases, delegator;
Expand Down Expand Up @@ -1306,4 +1310,4 @@ Cualquier proyecto que cite este documento como una guía para estilo no va a ac
----------


<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/80x15.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Principles of Writing Consistent, Idiomatic JavaScript</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://github.com/rwldrn/idiomatic.js" property="cc:attributionName" rel="cc:attributionURL">Rick Waldron and Contributors</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_US">Creative Commons Attribution 3.0 Unported License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/rwldrn/idiomatic.js" rel="dct:source">github.com/rwldrn/idiomatic.js</a>.
<a rel="license" href="https://creativecommons.org/licenses/by/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/3.0/80x15.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Principles of Writing Consistent, Idiomatic JavaScript</span> by <a xmlns:cc="https://creativecommons.org/ns#" href="https://github.com/rwldrn/idiomatic.js" property="cc:attributionName" rel="cc:attributionURL">Rick Waldron and Contributors</a> is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by/3.0/deed.en_US">Creative Commons Attribution 3.0 Unported License</a>.<br />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="https://github.com/rwldrn/idiomatic.js" rel="dct:source">github.com/rwldrn/idiomatic.js</a>.
6 changes: 5 additions & 1 deletion translations/fr_FR/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
* Duc Nguyen [@ducntq](https://twitter.com/ducntq), [github](https://github.com/ducntq)
* James Young [@jamsyoung](http://twitter.com/jamsyoung), [github](https://github.com/jamsyoung)
* Stephane Moreau [github](https://github.com/stmoreau)
* Boris Nekezov [github](https://github.com/boris-nekezov)
* Akshat Joshi [@akshat_joshi](http://twitter.com/akshat_joshi), [github](https://https://github.com/akshatjoshii)


## Tout code, peu importe les bases sur lesquelles il est établi, devrait ressembler au code tapé par une seule personne, peu importe le nombre de personnes ayant contribué.
Expand All @@ -39,6 +41,7 @@
## Traductions

* [ORIGINAL](https://github.com/rwldrn/idiomatic.js/)
* [Bulgarian](https://github.com/rwldrn/idiomatic.js/tree/master/translations/bg_BG)
* [German](https://github.com/rwldrn/idiomatic.js/tree/master/translations/de_DE)
* [French](https://github.com/rwldrn/idiomatic.js/tree/master/translations/fr_FR)
* [Spanish](https://github.com/rwldrn/idiomatic.js/tree/master/translations/es_ES)
Expand All @@ -51,7 +54,8 @@
* [简体中文](https://github.com/rwldrn/idiomatic.js/tree/master/translations/zh_CN)
* [Serbian - cyrilic alphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/ср_СР)
* [Serbian - latin aplphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/sr_SR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Hindi](https://github.com/rwaldron/idiomatic.js/tree/master/translations/hi_HI)

## Important, aspect non idiomatique :

Expand Down
7 changes: 6 additions & 1 deletion translations/gr_GR/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
* Richard Gibson [@gibson042](http://twitter.com/gibson042), [github](https://github.com/gibson042)
* Fesuy [github](https://github.com/fesuydev)
* Stephane Moreau [github](https://github.com/stmoreau)
* Boris Nekezov [github](https://github.com/boris-nekezov)
* Akshat Joshi [@akshat_joshi](http://twitter.com/akshat_joshi), [github](https://https://github.com/akshatjoshii)


## Όλος ο κώδικας σε ένα project πρέπει να φαίνεται σαν να τον έχει γράψει ένα άτομο, ασχέτως του πόσα άτομα έχουν συνεισφέρει.
Expand All @@ -58,6 +60,8 @@

## Translations

* [ORIGINAL](https://github.com/rwldrn/idiomatic.js/)
* [Bulgarian](https://github.com/rwldrn/idiomatic.js/tree/master/translations/bg_BG)
* [German](https://github.com/rwldrn/idiomatic.js/tree/master/translations/de_DE)
* [French](https://github.com/rwldrn/idiomatic.js/tree/master/translations/fr_FR)
* [Spanish](https://github.com/rwldrn/idiomatic.js/tree/master/translations/es_ES)
Expand All @@ -72,7 +76,8 @@
* [Serbian - latin alphabet](https://github.com/rwldrn/idiomatic.js/tree/master/translations/sr_SR)
* [繁體中文](https://github.com/rwaldron/idiomatic.js/tree/master/translations/zh_TW)
* [Indonesian](https://github.com/rwaldron/idiomatic.js/tree/master/translations/id_ID)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Greek](https://github.com/rwaldron/idiomatic.js/tree/master/translations/gr_GR)
* [Hindi](https://github.com/rwaldron/idiomatic.js/tree/master/translations/hi_HI)

## Σημαντικά, Μη-Ιδιωματικά Πράγματα:

Expand Down
Loading

0 comments on commit aceb8a3

Please sign in to comment.