
Понятность кода
Читаю сейчас книгу Unix Брайана Керригана (это новая, на ней даже дата выпуска стоит 2021 годом).
Там есть такие слова:
«Пишите ясно, не умничайте».
Это про стилизацию кода, когда он в угоду «краткости» становится не читабельным. Я эту мысль последние несколько месяцев кручу в голове, когда натыкаюсь на чужой код в виде:
setSomeObject({
…someObject,
array: {
…object,
items: newType === 'any of'
? {
anyOf: oldSomeObject
? [omit(oldSomeObject, 'description')].filter(({ type }) => type !== 'any')
: []
}
: newType === 'object'
? { type: newType, properties: {} }
: { type: newType }
}
});
или такое:
return [
…parentItem,
...(
parentObject
? parentObject.anyOf
? ['anyOf', ...propertyItemSomething]
: parentObject.type === ‘some’
? ['properties', ...propertyItemSomething]
: parentObject.type === ‘something’
? ['items']
: []
: []
)
];
Все хорошо к месту, и тернарные операторы в том числе…