Skip to content
This repository has been archived by the owner on Jul 17, 2023. It is now read-only.

Нейминг #21

Open
abazhenov-4xxi opened this issue May 31, 2018 · 6 comments
Open

Нейминг #21

abazhenov-4xxi opened this issue May 31, 2018 · 6 comments

Comments

@abazhenov-4xxi
Copy link
Contributor

abazhenov-4xxi commented May 31, 2018

JavaSrcipt basics

Naming

[1.1] Используйте говорящие названия

// bad
function q() {
  // ...
}

// good
function query() {
  // ...
}

[1.2] Используйте camelCase для переменных, объектов, функций

// bad
const OBJEcttsssss = {};
const this_is_my_object = {};
function c() {}

// good
const thisIsMyObject = {};
function thisIsMyFunction() {}

[1.3] Используйте PascalCase только для конструкторов, классов и типов.

// bad
function user(options) {
  this.name = options.name;
}

const bad = new user({
  name: 'nope',
});

// good
class User {
  constructor(options) {
    this.name = options.name;
  }
}

const good = new User({
  name: 'yup',
});

[1.4] Не используйте нижние подчеркивания как префикс или постфикс

// bad
this.__firstName__ = 'Panda';
this.firstName_ = 'Panda';
this._firstName = 'Panda';

// good
this.firstName = 'Panda';

[1.5] Булевые переменные (и только они) называются с префиксами is, has.

// bad
const opened = true;
const options = false;

// good
const isOpened = true;
const hasOptions = false;

[1.6] Методы и функции называются начиная с глагола

// bad
const userData = () => {...};
this.account = () => {...};

// good
const getUserData = () => {...};
this.createAccount = () => {...};

[1.7] Хендлеры начинаются с префикса handle

// bad
const onClick = e => {...};
const click = e => {...};
this.keyPress = e => {...};

// good
const handleClick = e => {...};
const handleChange = e => {...};
this.handleKeyPress = e => {...};

При этом входящие пропсы для хендлеров стоит именовать с префиксом on

// bad
<Component handleClick={this.handleClick} />
$.CustomSuperPlugin({
  handleClick: handleClick,
});

//good
<Component onClick={this.handleClick} />
$.CustomSuperPlugin({
  onClick: handleClick,
});

[1.8] Для jQuery коллекций должен использоваться префикс $

// bad
var inputs = $('input');

//good
var $inputs = $('input');
@abazhenov-4xxi
Copy link
Contributor Author

Для jQuery коллекций должен использоваться префикс $

bad:

var inputs = $('input');

good:

var $inputs = $('input');

@sg-4xxi
Copy link
Contributor

sg-4xxi commented May 31, 2018

я думаю можно просто сразу описать в репе :)

@rqrqrqrq
Copy link
Contributor

Хочу добавить, что несмотря на то, что хэндлеры мы называем handleX, входящие пропсы лучше называть onSomething

@abazhenov-4xxi да, закинь пр сразу, смержу свой сейчас

@abazhenov-4xxi
Copy link
Contributor Author

onSomething={handleSomething} ты имешь ввиду?

@abazhenov-4xxi
Copy link
Contributor Author

@rqrqrqrq мне доступ нужен для ПРа

@sg-4xxi
Copy link
Contributor

sg-4xxi commented Jun 1, 2018

@abazhenov-4xxi done

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants