- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
....
this.add_var = function(code){
if(!this.undef.oneOf(code[1])){
vName = code[1];
if(this.isName(vName)){
if(this.type[vName] == undefined){
this.type[vName] = 'var';
if(code[2] == '='){
if(!this.undef.oneOf(code[3])){
if(this.isNumber(code[3])){
value = parseFloat(code[3]);
this.vars[vName] = value;
return value;
}else if(this.isName(code[3])){
if(this.vars[code[3]] != undefined){
value = this.vars[code[3]];
this.vars[vName] = value;
return value;
}else{
return 'Error:variable ' + code[3] + ' undefined.'
}
}else{
return 'Error:value must be variable or number'
}
}else{
return 'Error:you not type var value.'
}
}else{
return 'nil';
}
}else{
return 'Error:variable already defined.';
}
}else{
return 'Error: in variable name.'
}
}else{
return 'Error: you not type var name.'
}
}
....
Часть исходника интерпретатора функционального ЯПа добавляющая переменные в контекст.
Представляет собой каскад всевозможных проверок.
Кстати, вот моя тян http://stat17.privet.ru/lr/0924c15742bb2367a2477cdd26ef9bfd
это же гадко, анонимус, как тебе не стыдно?
> Возможно, вы имели в виду: леруа горячие попки брачные игры знойных самцов
>Нет результатов поиска видео для “люра горячие попки брачные игры знойных самцов”
твое заявление остается голословным
http://i255.photobucket.com/albums/hh130/ndubya2001/The_LureBreaker_Keyblade.jpg
я уж не говорю о циклической сложности кода
Но вот есть вопрос, где тут циклическая сложность кода?
тем более, что обычно и stdout и stderr выводятся в ту же консоль - если иное не указано явно
> Но вот есть вопрос, где тут циклическая сложность кода?
проанализируйте метрику кода и вам покажут. Может, я термин не совсем тот употребил, но куча вложенных ифов однозначно показатель, что код срочно нуждается в рефакторинге
И единственное что я с моими малыми знаниями сумею сделать тут так это поставить рядом сообщения об ошибке и действия если бы не было ошибки.
А что вы предлагаете изменить.
Да и вобще мне надо почитать блог про ревизию кода на хабре
Но благодаря именно хабру я сча понял как улучшить код
после иисуса у меня рассосалось! аминь!
а как от ифов избавиться, тут уже надо вникнуть, что делает данный кусок и чуть поменять алгоритм. Чаще всего помогает обращение логики.
Например, вместо
можно написать
а если условия совсем простые, то и даже
для данного примитивного кода вообще все свертывается в
идея, надеюсь, понятна. Но все же, почитайте на досуге книжки про хороший код и best practices, благо торренты все еще живы
но вот сейчас мне пришла идея о вот такой замене
на
а такой флаг как-то настораживает немного.
интересно, что скажут остальные жители говнокода?
Что? Я по петушиному не понимаю.
Сейчас я знаю точто что запостив этот код я планировал получить кучу замечаний и ноль советов но я ошибался, и сейчас уже переписываю часть кода
Но вот только каждый ретурн это отсылка значания в стэк и он будет засоряться это конечно не приведет к переполнению но все равно не чисто получится.
Может в интерпретируемых языках выполнение функции прекратиться после 1 ретурна но вот в C врятле существует такой хороший оптимизирующий компилятор
страпон?
что бы не тупить советую менять иногда деятельность )
Все равно - надо и кропотливо учиться, и так же отдыхать хорошо. И все будет ок
Гуестам с табой не справится? lurkmore of chaos.
TOGGLE GOD MODE
Просто пошлют в далёкую секретную клоаку всех и вся.
Но я в таких случаях готаю.
Сглотни мой.
исходя из опыта могу предположить что еще парочка часов и весь код будет в элегантных решениях
Лишь убогая крыса.
jetbrains, срочно озаботьтесь джаваскриптерами, им тоже бывает тяжело