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

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
sub mainMenu {
	if ($action eq "addtab" && $iamadmin) { require "$sourcedir/AdvancedTabs.pl"; &AddNewTab; }
	elsif ($action eq "edittab" && $iamadmin) { require "$sourcedir/AdvancedTabs.pl"; &EditTab; }
	elsif ($action ne "") {
		if ($action eq "search2") {
			$tmpaction = "search";
		} elsif ($action eq "favorites" || $action eq "shownotify" || $action eq "im" || $action eq "imdraft" || $action eq "imoutbox" || $action eq "imstorage" || $action eq "imsend" || $action eq "imsend2" || $action eq "imshow" || $action eq "profileCheck" || $action eq "myviewprofile" || $action eq "myprofile" || $action eq "myprofileContacts" || $action eq "myprofileOptions" || $action eq "myprofileBuddy" || $action eq "myprofileIM" || $action eq "myprofileAdmin" || $action eq "myusersrecentposts") {
			$tmpaction = "mycenter";
		} elsif ($action eq "messagepagetext" || $action eq "messagepagedrop" || $action eq "threadpagetext" || $action eq "threadpagedrop" || $action eq "post" || $action eq "notify" || $action eq "boardnotify" || $action eq "sendtopic" || $action eq "modify") {
			$tmpaction = "home";
		} elsif ($action eq "guestpm2") {
			$tmpaction = "guestpm";
		} else { $tmpaction = $action; }

	} else {
		$tmpaction = "home";
	}

	$tab{'home'} = qq~<span |><a href="$scripturl" title = "$img_txt{'103'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'103'}$tabfill</a></span>~;
	$tab{'help'} = qq~<span |><a href="$scripturl?action=help" title = "$img_txt{'119'}" style="padding: 3px 0 4px 0; cursor:help;">$tabfill$img_txt{'119'}$tabfill</a></span>~;
	if ($maxsearchdisplay > -1) {
		$tab{'search'} = qq~<span |><a href="$scripturl?action=search" title = "$img_txt{'182'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'182'}$tabfill</a></span>~;
	}
	if (!$ML_Allowed || ($ML_Allowed == 1 && !$iamguest) || ($ML_Allowed == 2 && $staff) || ($ML_Allowed == 3 && ($iamadmin || $iamgmod))) {
		$tab{'ml'} = qq~<span |><a href="$scripturl?action=ml" title = "$img_txt{'331'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'331'}$tabfill</a></span>~;
	}
	if ($iamadmin) {
		$tab{'admin'} = qq~<span |><a href="$boardurl/AdminIndex.$yyaext" title = "$img_txt{'2'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'2'}$tabfill</a></span>~;
	}
	if ($iamgmod) {
		if (-e "$vardir/gmodsettings.txt") { require "$vardir/gmodsettings.txt"; }
		if ($allow_gmod_admin) {
			$tab{'admin'} = qq~<span |><a href="$boardurl/AdminIndex.$yyaext" title = "$img_txt{'2'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'2'}$tabfill</a></span>~;
		}
	}
	if ($sessionvalid == 0 && !$iamguest) {
		my $sesredir;
		unless (!$testenv || $action eq "revalidatesession" || $action eq "revalidatesession2") {
			$sesredir = $testenv;
			$sesredir =~ s/\=/\~/g;
			$sesredir =~ s/;/x3B/g;
			$sesredir = qq~;sesredir=$sesredir~;
		}
		$tab{'revalidatesession'} = qq~<span |><a href="$scripturl?action=revalidatesession$sesredir" title = "$img_txt{'34a'}" style="padding: 3px 0 4px 0;">$tabfill$img_txt{'34a'}$tabfill</a></span>~;
	}

// далее мало что меняется в стиле...

Формируем меню...

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

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

  • то есть, вы утверждаете, что если ЭТО переписать на пхп - говна станет меньше?
    Ответить
    • При чем тут php, код же на перле?
      А если говорить о том, как надо, то надо тут все с 0 переписать.
      Ответить
      • вы уже известны тем, что в нескольких тредах доказывали, что пых лучше перла. поэтому сарказм.

        а вообще да, сабж нужно не только переписывать, но и перепроектировать
        Ответить
        • Я не считаю php идеалом, я лишь считаю, что перл не лучше, а то и хуже. Т.е. в защиту php я не выступаю - говно оно, как и перл.
          Ответить
          • Не существует ничего идеального. Везде есть плюсы и минусы, но по моему мнению язык не может быть говном, а может быть лишь инструментом для его (говна) создания.
            Ответить
            • Все же и язык может быть говном, т.к. его так же люди создают, а людям свойственно говно получать.
              Ответить
            • инструмент таки должен быть удобен. если я не смогу взять в руки нож, не порезавшись, из-за отсутствия удобной ручки, то значит говно именно этот нож.
              Ответить
  • Вот именно чтоб не было такого кода и придумали шаблонизаторы, язык я думаю тут ни при чем
    Ответить
    • Язык, может, и ни при чем. Но были тут громкие заявления неких анонимусов, что все говнокодеры исключительно на php, а на perl все прямо как в сказке. Розовые очки не жмут?
      Ответить
      • Скажем так если процент говнокодеров примерно одинаков для всех языков, то в силу того что на пхп пишут гораздо больше чем на перле, то и говнокодеров пыха гораздо больше, а не перле пишут гораздо меньше., поэтому и кол-во говнокодеров меньше,
        поэтому количеством говнокодеров на перле по отношению к говнокодерам на пхп мало и им можно пренебречь и отбросить , вот отсюда и такие заявления ))))
        Надеюсь я примерно объяснил ситуацию, и вы больше не будете принимать близко к сердцу выкрики анонимов )))
        Ответить
        • > Скажем так если процент говнокодеров примерно одинаков для всех языков, то в силу того что на пхп пишут гораздо больше чем на перле, то и говнокодеров пыха гораздо больше, а не перле пишут гораздо меньше., поэтому и кол-во говнокодеров меньше,

          С этим я не спорю, если рассматривать абсолютное количество говнокодеров, то да, на php их существенно больше, т.к. и кода на php существенно больше. А вот в относительном значении количество говнокодеров одинаково, что на php, что на perl.
          Ответить
        • Вау, прямо спокойная дискуссия, пришли к консенсусу, никакого холивара с пеной у рта, приятно смотреть=)
          Ответить
            • я не буду кормить Вас, тролль)
              я много раз говорил: написать говно можно на чем угодно, но на некоторых языках написать НЕговно сложнее, чем на других. В частности -- на php;)
              Ответить
              • > но на некоторых языках написать НЕговно сложнее, чем на других. В частности -- на php;)

                Я бы так выстроил лесенку говноязыков:
                1. bat-файлы
                2. perl
                3. php
                Ответить
                • тоесть сначала говнокодер осваивает php, потом -- perl, и наконец -- bat файлы?
                  Ответить
                  • Это не порядок освоения, а порядок говноязычности в порядке убывания.
                    Хотите туда еще и Basic на свое усмотрение на любую позицию вставьте, я бы его между bat и perl поставил.
                    Ответить
                • бля, опять батники приплёл

                  нужна помощь программиста!!! у меня между стулом и клавиатурой что-то застряло!!!
                  Ответить
                • bat файлы не виноваты. bat файлы -- это все то же, что бы вы написали ручки. Все претензии к command.com & cmd.exe, но пока он не устарел его огого как хватало

                  однако, я понимаю, что вам в них не хватает мышки, окошек, кнопочек и автокомплита = )
                  Ответить
                  • > однако, я понимаю, что вам в них не хватает мышки, окошек, кнопочек и автокомплита = )

                    А вам там всего хватает, пишете полноценные программы на них?
                    Мне вот приходилось на них писать весьма крупные поделки, т.к. работал некоторое время в организации, где сторонний софт был строго запрещен, а нестандартный софт для работы был нужен. Вот батники и были выходом, т.к. средства стандартные виндовские.
                    Если в 9х это был примитивный консольный шелл, то в cmd была попытка сделать из них что-то, напоминающее язык программирования. Но как-то криво получилось.
                    Ответить
                    • мне баты вообще не нужны = ))

                      а вся беда не в них, а в том, что тулзов мало. Сравните, например, с положением дела в линуксе
                      Ответить
                      • это если гнушный тулсет религия не позволяет выкачать и поставить
                        Ответить
                          • хрен его знает
                            каждый раз когда возникает мысль рассмотреть эту хрень поближе поражает его вербозность и ненативность
                            Ответить
                    • > нестандартный софт для работы был нужен. Вот батники и были выходом, т.к. средства стандартные виндовские

                      echo ВНЕЗАПНО & cscript /? > "%TEMP%\RTFM.txt" & start /wait %TEMP%\RTFM.txt & del "%TEMP%\RTFM.txt"

                      JavaScript, хотя и не без микрософтовских квирков
                      Ответить
                      • wsh & ms jscript. помнится я с помощью этой хрени делал подобие файлового менеджера на хтмл, а еще урлогенератор со счетчиками, с передачей во флашгет для массовой закачки
                        Ответить
    • Проблема программ, которые поддерживаются в течение десятилетия, заключается в том, что нельзя вот так в одночасье взять и поменять архитектуру. Если, конечно, разработчики не привыкли с самого начала заниматься рефакторингом. Можно параллельно с поддержкой создавать новую версию, где все "правильно". Но на это нужны люди, время и деньги.
      А бывает, что программисты так привязаны к своему детищу, что и не хотят ничего менять -- работает же.

      Люди, писавшие доску объявлений YABB (это код оттуда), все-таки нашли возможность переписать все, так что сейчас код выглядит иначе.

      ...Впрочем, и несколько лет назад когда была в ходу опубликованная здесь версия, было стыдно так писать - особенно на Perl-е. Чего стоит одна 7 строчка из этого несчастного меню, где идут подряд через OR около 20 условий! Убил бы автора, ей-богу, если бы пришлось поддерживать такой код.
      Ответить
      • Это версии 2.5, на сколько мне известно, это последняя версия, так что этот код как раз относится уже к "Люди, писавшие доску объявлений YABB (это код оттуда), все-таки нашли возможность переписать все, так что сейчас код выглядит иначе. " 🙂
        Ответить
        • Да, верно, 2.5 -- это последняя стабильная версия. YABB 3 начали писать с чистого листа в 2009г.
          Ответить
          • А, ну так он еще, вроде, не готов. Рано еще говорить. Подождем, когда допишут, и выложим его здесь 🙂
            Ответить

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

Из-за тебя ушел bormand, guest!

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


    8