Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 September 07

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Если простыми словами, то нужно делать так, как нужно, а как не нужно - делать не нужно.
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Если простыми словами, то нужно делать так, как нужно, а как не нужно - делать не нужно.
Это логично, но все же я так и не понял почему.
Я предположил что результат должен быть заведомо осмысленный и возвращаться по контракту.

Что касается undefined - я его вообще не использую, так как это ломает суть изначально задуманного определения переменной. То есть если я переменной назначу значение undefined - это уже получиться нонсенс, ибо переменная существует, но она является undefined?
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Это логично, но все же я так и не понял почему.
Я предположил что результат должен быть заведомо осмысленный и возвращаться по контракту.

Что касается undefined - я его вообще не использую, так как это ломает суть изначально задуманного определения переменной. То есть если я переменной назначу значение undefined - это уже получиться нонсенс, ибо переменная существует, но она является undefined?
Если вы мне покажете любой кусок своего кода, то я в нем найду десятки скрытых undefined и null, о которых вы даже не думали
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
источник

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
Ничего что любая функция по дефолту возвращает undefined?
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
function getCreditCardMaskN16(cn) - вот первый undefined, если непередать значения, то в функцию придет undefined
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
if (chunks = cn.match(/\d{4}/g)) - это вообще ужас, присвоение в if
источник

Y

Yaroslav in NodeUA - JavaScript and Node.js in Ukraine
Java патерны в js, меншин Немчинского.. Я даже иконку чата проверил, на всякий случай
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
return ''; - это что, чтоб null не возвращать, чем лучше? )))
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
function getCreditCardMaskN16(cn) - вот первый undefined, если непередать значения, то в функцию придет undefined
Вот об этом я и говорю. Я её сам не назначаю, она неявно принимает значение undefined
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Вместо
return rate > 0
       ? `${size}${markers[rate]}b`
       : `${size}${markers[rate]}`
   ;

нужно написать:
return `${size}${markers[rate]}${rate > 0 : 'b' : ''}`;

и так дажее...
bytesToShortSize - так писать нельзя, это лапша,
вот эта функция как должны выглядет:
const SIZE_UNITS = ['', ' Kb', ' Mb', ' Gb', ' Tb', ' Pb', ' Eb', ' Zb', ' Yb'];

const bytesToSize = bytes => {
 if (bytes === 0) return '0';
 const exp = Math.floor(Math.log(bytes) / Math.log(1000));
 const size = bytes / 1000 ** exp;
 const short = Math.round(size, 2);
 const unit = SIZE_UNITS[exp];
 return short + unit;
};
источник

M

Mehannoying in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Вместо
return rate > 0
       ? `${size}${markers[rate]}b`
       : `${size}${markers[rate]}`
   ;

нужно написать:
return `${size}${markers[rate]}${rate > 0 : 'b' : ''}`;

и так дажее...
bytesToShortSize - так писать нельзя, это лапша,
вот эта функция как должны выглядет:
const SIZE_UNITS = ['', ' Kb', ' Mb', ' Gb', ' Tb', ' Pb', ' Eb', ' Zb', ' Yb'];

const bytesToSize = bytes => {
 if (bytes === 0) return '0';
 const exp = Math.floor(Math.log(bytes) / Math.log(1000));
 const size = bytes / 1000 ** exp;
 const short = Math.round(size, 2);
 const unit = SIZE_UNITS[exp];
 return short + unit;
};
Кстати, спасибо за эту реализацию, использую в своих проектах.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Mehannoying
Кстати, спасибо за эту реализацию, использую в своих проектах.
а использовать ее я не разрешал, кстати
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Вот библиотека, где все это есть https://github.com/metarhia/common
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Mehannoying
Кстати, спасибо за эту реализацию, использую в своих проектах.
Копипейстом к себе в проект вы этот код не можете забрать, или сами пишите или копирайты добавьте, откуда взято или зависимость
источник

Y

Yury in NodeUA - JavaScript and Node.js in Ukraine
А если заберёт, то что будет?
источник

M

Mehannoying in NodeUA - JavaScript and Node.js in Ukraine
🤔
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Yury
А если заберёт, то что будет?
Это будет нарушение авторских прав
источник

Y

Yury in NodeUA - JavaScript and Node.js in Ukraine
Это то понятно, а санкции какие в связи с этим будут вводиться?
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Ни каких )
источник