Замечания по коду
23 февраля 2016 15:27
Строки от 2058 blend4web_sdk_free_16_01\src\geometry.js :
Возможно нехватает break после нахождения блока данных по ключу (для скорости)?
exports.apply_shape_key = function(obj, key_name, new_value) {
//NOTE: only applies shape key for the first scene
var batches = obj.scenes_data[0].batches;
var sk_data = obj.render.shape_keys_values;
for (var i = 1; i < sk_data.length; i++)
if (sk_data["name"] == key_name)
sk_data["value"] = new_value;
for (var i = 0; i < batches.length; i++) {
Возможно нехватает break после нахождения блока данных по ключу (для скорости)?
exports.apply_shape_key = function(obj, key_name, new_value) {
//NOTE: only applies shape key for the first scene
var batches = obj.scenes_data[0].batches;
var sk_data = obj.render.shape_keys_values;
for (var i = 1; i < sk_data.length; i++)
if (sk_data["name"] == key_name)
sk_data["value"] = new_value;
for (var i = 0; i < batches.length; i++) {
23 февраля 2016 17:59
23 февраля 2016 20:02
24 февраля 2016 00:03
Ответ на сообщение пользователя v1vendiКогда я учился программированию, мне говорили, что лишняя фигурная или круглая скобка никогда не повредит, поскольку позволит "не сомневаться". Сейчас я думаю иначе, нужно знать порядок вычисления операций и работу составных операторов идеально, при таких условиях отсутствие скобки улучшает чистоту и читабельность кода .
а вот за отсутствие скобок у тела цикла и if хочется кого-нибудь убить. не экономьте место пожалуйста
Команда Blend4Web
https://twitter.com/AlexKowel
https://twitter.com/AlexKowel
24 февраля 2016 12:45
Александр, это просто выглядит слишком неконсистентно. Когда в пределах одной функции смешиваются разные стили - это очень сильно сбивает с толку, вот такую конструкцию из вашего кода считаю абсолютно неприемлемой
Ну и всё-таки абсолютное большинство соглашений по оформлению кода не рекомендуют такой подход
if (bin_name)
thread.binary_name = bin_name;
else {
m_loader.skip_stage_by_name(thread, "load_binaries");
m_loader.skip_stage_by_name(thread, "prepare_bindata");
}
Ну и всё-таки абсолютное большинство соглашений по оформлению кода не рекомендуют такой подход
24 февраля 2016 15:05
Я думаю, что тут смешения стилей нет, поскольку в первом случае отсутствие скобок явно указывает на один оператор, во втором на множество. Ну это уже моё мнение, в случае когда скобки всё же будут присутствовать, ошибкой это считаться не будет. Но вот если бы в else был всего один оператор, то скобки были бы явным нагромождением.
Команда Blend4Web
https://twitter.com/AlexKowel
https://twitter.com/AlexKowel
24 февраля 2016 15:50
стр. 96 JavaScript: the Good Parts, Douglas Crockford
"Code that appears to mean one thing but actually means another is likely to cause
bugs. A pair of braces is really cheap protection against bugs that can be expensive to
find."
Если бы я не прочитал эту книгу, то никогда бы не дотронулся. Теперь обожаю ;)
"Code that appears to mean one thing but actually means another is likely to cause
bugs. A pair of braces is really cheap protection against bugs that can be expensive to
find."
Если бы я не прочитал эту книгу, то никогда бы не дотронулся. Теперь обожаю ;)
02 июня 2016 15:57
02 июня 2016 16:06
02 июня 2016 18:51
Мы считаем, что такой стиль вполне допустим. Если выражение изменится, не придётся добавлять ещё один break.
И ещё удивляет, что вы решили добавить функциональность геймпада непосредственно в модуль 'input', а не вынесли её в отдельный модульМодуль input создавался, чтобы быть максимально универсальным, поскольку любое устройство ввода может быть представлено как изменение чисел во времени. Кроме того, это сейчас кажется, что геймады несколько необычные устройства, по мере продвижения VR они будут в том или ином виде у многих.
Команда Blend4Web
https://twitter.com/AlexKowel
https://twitter.com/AlexKowel