=()= / Говнокод #10947 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
if ($key eq $default_key){
		my $author = $default_author;
		if ($release){
			if (length $release <= $max_release){
				if (length $description <= $max_description){			
					if ($filename){
						if (clearfn(\$filename) eq 1){
							if (! -e "$files_dir/$filename"){
								$release = clear($release);
								$description = clear($description);
								$description = bb($description);
								open FILE, '>>db.txt' or die $!;
								print FILE "$release\t$filename\t$description\t$author\t" . ftime() . "\n";
								close FILE;
								open FILE, ">$files_dir/$filename" or die "$!";
								binmode FILE;
								while (<$filehandle>){
									print FILE;
								}
								close FILE;
								$result = 'Файл успешно добавлен!';
								rss();
							}
							else {
								$result = 'Ошибка: Файл с таким именем уже загружен!';
							}
						}
						else {
							$result = 'Ошибка: Недопустимое расширение файла!';
						}
					}
					else {
						$result = 'Ошибка: Нет файла!';
					}
				}
				else {
					$result = "Ошибка: В описании должно быть не более $max_description символов!";
				}
			}
			else {
				$result = "Ошибка: В названии должно быть не более $max_release символов!";
			}
		}
		else {
			$result = 'Ошибка: Нет названия!';
		}
	}
	else {
		$result = 'Ошибка: ';
	}

Писал паскалеребенок

Запостил: nyaknyan nyaknyan, (Updated )

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

  • Написано абсолютно структурно, по заветам Кнута.
    Ответить
    • т.е. кнут не одобряет хотя бы так?
      if (failed1) {
         // do fail1 code
      } else if (failed2) {
         // do fail2 code
      } else if (failed3) {
         ...
      } else {
         // do absolutely success code
      }
      Ответить
      • Да-да, всё правильно. Ведь это Дейкстра презирал безусловные переходы под любым соусом.
        Ответить
  • А что не так? Вы же все ненавидите исключения, правда? Говорите что исключения не нужны, что это "гоуту в никуда" и что ошибки надо явно обрабатывать?

    Можно конечно переписать как
    if (! $release){
    return "ошибк 1";
    }
    if (!(length $release <= $max_release))
    {
    return "ошибк 2";
    }


    Так мы избавимся от лесенки, но вы все начнете говорить что множественные ретёрны это плохо, правда?
    Ответить
  • Закусив пирожками, я налил в бутылку из-под "Кока-колы" маминого кислого квасу, взял удочки, коробку с крючками и леской, и мы, не спеша перебивая друг друга рассказами о случившихся с нами событиях, двинулись к речке по пыльной, раскаленной солнцем проселочной дороге.
    Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8