Да. Код является кодом. Мое эмпирическое правило - то, что мне нужно к быть в состоянии создать и развернуть приложение с нуля , не смотря на машину разработки или производства.
Мне нравится ваш второй вариант, хотя его можно сделать немного проще:
// Math.pow is slow, use constant instead.
var color = Math.floor(Math.random() * 16777216).toString(16);
// Avoid loops.
return '#000000'.slice(0, -color.length) + color;
Более сжато:
function get_random_color2()
{
var r = function () { return Math.floor(Math.random()*256) };
return "rgb(" + r() + "," + r() + "," + r() + ")";
}
Более короткий путь:
'#'+(0x1000000+(Math.random())*0xffffff).toString(16).substr(1,6)