1. Java / Говнокод #5888

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function formatSpeedBits(speed) {
    	// format speed in bits/sec, input: bytes/sec
    	if (speed < 125000) return Math.round(speed / 125) + " Kbps";
    	if (speed < 125000000) return Math.round(speed / 1250)/100 + " Mbps";
    	// else
    	return Math.round(speed / 1250000)/100 + " Gbps";  // wow!
    }

    JS в интерфейсе прошивки dd-wrt. Не совсе говнокод.

    Запостил: danilissimus, 04 Марта 2011

    Комментарии (14) RSS

    • не совсем*
      Ответить
    • Действительно... Java, JavaScript... какая разница?
      Ответить
      • бля. только сейчас заметил.
        Ответить
      • а че, ругнется только на function... правда еще надо в класс засунуть
        Ответить
        • еще ругнется что у speed тип не указан.
          Ответить
          • а на склеивание строки с числом не ругнется ?
            Ответить
            • и на это тоже. но с другой стороны, можно заставить Math.round возвращать строку.
              Ответить
            • нет. числу автоматом будет toString
              Ответить
              • Так уж и toString?
                alert(
                	"string " + {
                		toString: function() {
                			alert("toString");
                			return "toString";
                		},
                		valueOf: function() {
                			alert("valueOf");
                			return "valueOf";
                		}
                	}
                );
                Ответить
              • Хотя нет, там непонятно:
                Number.prototype.toString = function() {
                	return "s";
                };
                Number.prototype.valueOf = function() {
                	return "v";
                };
                alert("" + 0);

                Но к строке, конечно же, приведет. :)
                Ответить
              • Да что оно только один раз подправить дает. =/

                Number.prototype.toString = function() {
                	return "s";
                };
                Number.prototype.valueOf = function() {
                	return "v";
                };
                alert("" + 0); // "0"
                alert(String(0)); // "0"
                alert((0).toString()); // "s"
                Ответить
                • Как там погодка в Омске?
                  Мы о java, а не о javascript говорим.
                  Ответить
            • в джаве со строкой можно сложить все что угодно, при этом будет неявно вызван toString()
              Ответить

    Добавить комментарий