- 1
this.value = this.value.replace(/./g, '');
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+169
this.value = this.value.replace(/./g, '');
//гениальное обнуление строки
+157
function report1(req, res, next, type) {
if (!req.query || !req.query.name) {
var ct = "Income statement";
if (type == 'pieflow')
ct = 'Pie flow chart';
else if (type == 'barflow')
ct = 'Bar flow chart';
res.redirect(req.url + "?name=" + ctx.i18n(req.session.apiToken, 'cash', ct));
return;
}
var pid = "reports-" + type + "-" + req.query.name;
var vtabs,data,reportSettings;
async.waterfall([
function (cb1) {
async.series([
function(cb2) {
webapp.guessTab(req, {pid: pid, name:req.query.name, url:req.url}, cb2);
},
function(cb2) {
webapp.getTabSettings(req.session.apiToken, pid, cb2);
}
],
function (err, results) {
cb1(null, results[0], results[1]);
});
},
function (vtabs_, reportSettings_, cb1) {
vtabs = vtabs_;
reportSettings = reportSettings_;
if (_.isEmpty(reportSettings) || !reportSettings.version || (reportSettings.version != reportSettingsVersion)){
reportSettings = getDefaultSettings(req.query.name);
webapp.saveTabSettings(req.session.apiToken, pid, reportSettings, function(err){
if (err) console.log(err);
});
}
calculateGraphData(req.session.apiToken,type,reportSettings,cb1);
},
function(data_,cb1){
data = data_;
cb1()
},
function(){
data.tabs = vtabs;
data.pmenu = {name:req.query.name,
items:[{name:webapp.ctx.i18n(req.session.apiToken, 'cash','Page settings'),id:"settings",href:"#"}]}
data.reportSettings = reportSettings;
res.render(__dirname+"/../res/views/report", data);
}],
next
);
};
Прислали мне, значит, вступительное задание на должность разработчика node.js, а там гигантский проект, в который нужно дописать модуль, который выглядит весь так же ужасно, как эта функция. Долго порывался написать, что это самый ужасный код, который я когда-либо видел. http://pastebin.com/4NYccg3Y вот ссылка на весь файл, кому интересно, весь проект палить не буду, но скажу, что он большой и ужасный.
+163
$('.vse-zaeblo').click(function() {
$.fancybox($(this));
return false;
});
Получил задачу пофиксить сайт созданный другой компанией, заглянул в код и увидел самую первую функцию
+159
jQuery(document).ready(function(){
jQuery("a.m1_show").click(function(){
jQuery('div#emul_1').addClass('mshow').show();
jQuery('div#emul_2').addClass('minvis').hide();
jQuery('div#emul_3').addClass('minvis').hide();
jQuery('div#emul_4').addClass('minvis').hide();
jQuery('div#emul_5').addClass('minvis').hide();
//jQuery('li#emul_6').addClass('minvis').hide();
});
});
jQuery(document).ready(function(){
jQuery("a.m2_show").click(function(){
jQuery('div#emul_2').addClass('mshow').show();
jQuery('div#emul_1').addClass('minvis').hide();
jQuery('div#emul_3').addClass('minvis').hide();
jQuery('div#emul_4').addClass('minvis').hide();
jQuery('div#emul_5').addClass('minvis').hide();
//jQuery('li#emul_6').addClass('minvis').hide();
});
});
jQuery(document).ready(function(){
jQuery("a.m3_show").click(function(){
jQuery('div#emul_3').addClass('mshow').show();
jQuery('div#emul_1').addClass('minvis').hide();
jQuery('div#emul_2').addClass('minvis').hide();
jQuery('div#emul_4').addClass('minvis').hide();
jQuery('div#emul_5').addClass('minvis').hide();
//jQuery('li#emul_6').addClass('minvis').hide();
});
});
jQuery(document).ready(function(){
jQuery("a.m4_show").click(function(){
jQuery('div#emul_4').addClass('mshow').show();
jQuery('div#emul_1').addClass('minvis').hide();
jQuery('div#emul_3').addClass('minvis').hide();
jQuery('div#emul_2').addClass('minvis').hide();
jQuery('div#emul_5').addClass('minvis').hide();
//jQuery('li#emul_6').addClass('minvis').hide();
});
});
jQuery(document).ready(function(){
jQuery("a.m5_show").click(function(){
jQuery('div#emul_5').addClass('mshow').show();
jQuery('div#emul_1').addClass('minvis').hide();
jQuery('div#emul_3').addClass('minvis').hide();
jQuery('div#emul_2').addClass('minvis').hide();
jQuery('div#emul_4').addClass('minvis').hide();
//jQuery('li#emul_6').addClass('minvis').hide();
});
});
function but_1 () {
jQuery('span#emul_img_1').addClass('img_none').hide();
jQuery('span#emul_img_2').addClass('img_inline').show();
jQuery('span#emul_img_3').addClass('img_inline').show();
jQuery('span#emul_img_4').addClass('img_inline').show();
jQuery('span#emul_img_5').addClass('img_inline').show();
jQuery('span#emul_img_none_1').addClass('img_inline').show();
jQuery('span#emul_img_none_1').addClass('current_tab').show();
jQuery('span#emul_img_none_2').addClass('img_none').hide();
jQuery('span#emul_img_none_3').addClass('img_none').hide();
jQuery('span#emul_img_none_4').addClass('img_none').hide();
jQuery('span#emul_img_none_5').addClass('img_none').hide();
}
function but_2 () {
jQuery('span#emul_img_2').addClass('img_none').hide();
jQuery('span#emul_img_1').addClass('img_inline').show();
jQuery('span#emul_img_3').addClass('img_inline').show();
jQuery('span#emul_img_4').addClass('img_inline').show();
jQuery('span#emul_img_5').addClass('img_inline').show();
jQuery('span#emul_img_none_2').addClass('img_inline').show();
jQuery('span#emul_img_none_2').addClass('current_tab').show();
jQuery('span#emul_img_none_1').addClass('img_none').hide();
jQuery('span#emul_img_none_3').addClass('img_none').hide();
jQuery('span#emul_img_none_4').addClass('img_none').hide();
jQuery('span#emul_img_none_5').addClass('img_none').hide();
}
...
На работе сказали поправить табы, зашел увидел это =)
Вот такая реализация, Там еще html очень "забавный" =)
+158
// Пара функций в глобальном скоупе прям
function imageOn(imageName)
{
if(document.images)
{
document[imageName].src=eval(imageName+"On.src");
}
}
function imageOff(imageName)
{
if(document.images)
{
document[imageName].src=eval(imageName+"Off.src");
}
}
// Затем по такому файлику на каждую страницу
if(document.images)
{
imagePath= contextImages;
displaySessionInfoOn=new Image();
displaySessionInfoOn.src=imagePath+"ShowSessionStatusOn.gif";
displaySessionInfoOff=new Image();
displaySessionInfoOff.src=imagePath+"ShowSessionStatusOff.gif";
...
}
// И, наконец, пример использования в HTML:
<a href="DisplaySessionInfo?PropertyId=FILBB" onmouseover="imageOff('displaySessionInfo')" onmouseout="imageOn('displaySessionInfo')">
<img src="/resources/images/ShowSessionStatusOn.gif" name="displaySessionInfo" alt="ShowSessionStatus" border="3"/>
</a>
+159
request.done(function(data){
if (data){
<...много кода с кучей вложенных if else ..>
noty({type: "success", text: 'Заказ взят с биржи'});
setTimeout(location.reload(), 2000);
}
} else if (data.error) {
console.log(data);
noty({type: "error", text: data.error["message"]});
}
});
i had n1ce debug time
+215
if (new Boolean(false)) {
Отвратная вещь этот new.
+158
$('.price_input', this.getDummy()).on('keydown', function (e) {
if (e.keyCode == 13) {
e.preventDefault();
}
var charCode = e.keyCode, char = e.originalEvent.keyIdentifier;
if ((((charCode == 188) && (!char || char == 'U+002C')) || (charCode == 190) && (!char || char == 'U+002E')) && ($(this).val().indexOf('.') < 0) && ($(this).val().indexOf(',') < 0)) {
return true;
}
if ((charCode >= 37 && charCode <= 40) || (charCode == 46) || (charCode == 8) || (charCode >= 48 && charCode <= 57) || (charCode >= 96 && charCode <= 105)) {
return true;
}
e.preventDefault();
});
Код ведущего front-end разработчика.
Это далеко не самый длинный if в проекте.
После месячного рефакторинга подобного шедевра я готов открыть компанию по сбору денег для программистов инвалидов.
+153
var getSelectedTabName = function() {
return $('#costs-category').find('.tabs-v4-i_active').find('.tabs-v4-l').data('category_alias');
};
Кто-то ниасилил селекторы в jquery
+161
function kevinTheNumberMentioner(_){
l=[]
/* mostly harmless --> */ with(l) {
//Sorry about all this, my babel fish has a headache today...
for (ll=!+[]+!![];ll<_+(+!![]);ll++) {
lll=+!![];
while (ll%++lll);
//I've got this terrible pain in all the semicolons down my right-hand side
(ll==lll)&&push(ll);
}
forEach(alert);
}
//You're really not going to like this...
return [!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]];
}
Открыл твитор, а там - это.
http://arstechnica.com/information-technology/2014/11/holiday-reading-for-a-certain-sort-if-hemingway-wrote-javascript/