LINUX.ORG.RU

Есть ли в природе нормально написанные форумы?


0

1

Уже давно не доволен качеством кода phpbb. Недавно глянул punbb - то же самое. Не код, а каша. О MVC разрабы, видимо, и не подозревают, фреймворки не юзают, просто пишут говнокод тоннами.

Есть ли нормальные форумы?

Или здесь есть свой сакральный смысл?

★★★★★

Последнее исправление: helios (всего исправлений: 1)

Вы же прекрасно понимаете, что это ваше MVC - влияет на производительность. Поэтому используют кашу.

guilder
()
Ответ на: комментарий от neocrust

Хотелось бы иметь права на изменение кода. Ну и не за дорого. Хотя, если там всё ок с сорцами, то хотя бы нулленые почитать бы...

Кто читал, как оно?

helios ★★★★★
() автор топика

>Есть ли в природе нормально написанные форумы?
Ты только что на него написал.

kernelpanic ★★★★★
()
Ответ на: комментарий от helios

Да, ну? кешироание это когда 8гигабайтов памяти исчезают за полсекунды?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

Никто не ограничивал тред пыхом. Вполне устроят варианты с perl/python/ruby. Java - со скрипом, но тоже вариант. И да, уже ушёл читать сорцы лора.

helios ★★★★★
() автор топика
Ответ на: комментарий от helios

тогда еще замечание - структура привычного человекам форму плохо накручивается на объектную модель. А требования к оптимальности структуры субд по производительности делают код еще кучерявее. Т.е. идеальный форум невозможен.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

Наглое 4.2.

Красивый код на пыхе возможен. Просто писать надо так, как-будто пишешь на c/c++.

Вот на счёт того, что красивый код будет оптимален - это да.

guilder
()
Ответ на: комментарий от guilder

Красивый код на пыхе возможен. Просто писать надо так, как-будто пишешь на c/c++.

С указателями и шаблонами? А множественное наследование и интерфейсы в пыхе есть или тоже эмулировать?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

> А множественное наследование и интерфейсы в пыхе есть или тоже эмулировать?

Зачем тебе такие вещи в том что должно:быстро получить данные, быстро обработать данные, быстро отдать данные.

ERP системы на php писать не надо.

guilder
()
Ответ на: комментарий от guilder

Зачем тебе такие вещи в том что должно:быстро получить данные, быстро обработать данные, быстро отдать данные.

Мы тут про ассемблер, или про хороший код?

wfrr ★★☆
()
Ответ на: комментарий от guilder

И выполняющийся только на машинах белого цвета стоящих не дальше километра от православных храмов — ибо ежели бредить, то основательно.

Так, а ежели не бредить, то не расскажешь как в процедурном стиле (ибо в пыхе ничего больше не остается) напейсать нечто читабельное?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

просто раскастуй весь вывод ( куски вёрстки ) по функциям ( пусть их будет много), а потом из головного на текущий момент скрипта их просто вызывай.

Главное правило в таком случае: не складывать функции или алгоритмы верстки и функции логики в один файл.

guilder
()
Ответ на: LOR от wfrr

Работ вертер тут просто так сделает - A-A-A!!!

Fischer
()
Ответ на: комментарий от wfrr

меня никто и не обманывал.


#...

include "whatwhatwhat.inc"

#...

ui_sp("Новая работа");

   logJournal("Новое работа");


    # логика

   form_draw($p,"create");

   //ui_generateScript();
   ui_script("js/check_register.js");
   ui_script("js/enlock.js");
   ui_script("js/ct.js");
   ui_script("js/calc.js");


ui_ep();

и

function form_draw($p=array(),$type='create')
#
  if($type=="search"){
 	ui_scripted_stfs("Личные и паспортные данные","n1");  
  }else{
	ui_stfs("Личные и паспортные данные");
  }
		ui_sfs();
			ui_text_req("reg[surname]","Фамилия",$p['surname'],50);
			ui_text_req("reg[name]","Имя",$p['name'],50);
			ui_text("reg[patronymic]","Отчество",$p['patronymic'],50);
			ui_sex($p['sex']);
		ui_efs();
	ui_sptfs();
		ui_sfs();
			ui_text_req("reg[SN]","Серия и номер",$p['SN'],10);
			ui_text_req("reg[PN]","Личный номер",$p['PN'],20);
		        ui_select_req("reg[natio]",'Гражданство',$options['country'],$p['natio']);
			ui_dateedit("reg[BD]","Дата рождения",$p['BD']);
		ui_efs();
	ui_etfs();
#....

}

guilder
()
Ответ на: комментарий от guilder

меня никто и не обманывал.

Самообман, это когда ты сам себя обманываешь, но дя тажело это признать на публике.

То шо ты нафигачил щас называется костыли. Используется либо при недостатке ресурсов (всякие avr, но даже там есть C++), либо из-за неправильного выбора убогих средств разработки (да, да пыха например).

wfrr ★★☆
()
Ответ на: комментарий от dmsh

Там и другие порнодигмы в действии, особо на быдло коде а-ля:

  ui_sptfs();
      ui_sfs();
      ...
      ui_efs();
   ui_etfs();

Даже в книжках для детского сада пишут «не пишите так, это приводит к ошибкам», так нетже, пыхокодеры как наваяют, шо ппц.

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>>меня никто и не обманывал.

Самообман, это когда ты сам себя обманываешь, но дя тажело это признать на публике.

Какой самообман? Где? Это читабельно - раз. Это поддерживаемо - два. Я поддерживаю этот код уже 3 года - это три. Люди которые так или иначе это тоже делают, разбираются довольно быстро.

То шо ты нафигачил щас называется костыли. Используется либо при недостатке ресурсов (всякие avr, но даже там есть C++), либо из-за неправильного выбора убогих средств разработки (да, да пыха например).

Слейте кровь из глаз. А то она явно на что-то давит.

PS. В форме 146 полей.

guilder
()
Ответ на: комментарий от guilder

Какой самообман? Где?

вот (ты два раза себя обманул):

Это читабельно - раз. Это поддерживаемо - два.

Я поддерживаю этот код уже 3 года - это три.

Я некоторые извращенцы получают удовольствие от гомосексуализма, да.

Люди которые так или иначе это тоже делают, разбираются довольно быстро.

А индусы которые видят высокоуровневый ООП каркас как разтаки быстро в нем не разберутся. Тут все зависит от знаний.

PS. В форме 146 полей.

К каждому поле по 10 XSS уязвимостей

wfrr ★★☆
()
Ответ на: комментарий от guilder

может мне еще доказать что я не плод твоей разгоряченной фантазии?

попробуй не поставить гдето закрывающую функцию или словить исключение и потом найти где косяк средствами компилятора\интерпретатора. ОГа.

wfrr ★★☆
()
Ответ на: комментарий от guilder

Знаешь «мудрость» про неуловимого джо?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

>попробуй не поставить гдето закрывающую функцию...

1. От этого логика работы программы не пострадает. Просто съедет вёрстка.

2. Вот поэтому все функции написаны со своими отступами.

guilder
()
Ответ на: комментарий от dmsh

>Почему? Твоя лапша из if-ов называется «закат солнца вручную».

Если один безнадёжный if вы считаете лапшой....

Вы код на java? где function h(){ i=function(){k=function(){}}}. Djn Вот это лапша.

guilder
()
Ответ на: комментарий от guilder

От этого логика работы программы не пострадает. Просто съедет вёрстка.

Это клиника. Поехавшая логика значит не косяк программы. Кроме того если такой быдлокод ты позволил себе тут, то при работе с базой будет тоже самое.

Вот поэтому все функции написаны со своими отступами.

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

ps. А в языках с анонимными функциями (да даже в яве) эта задача решается элементарно, с проверкой всех исключительных ситуаций.

wfrr ★★☆
()
Ответ на: комментарий от guilder

До тебя придумали паттерн «стратегия».

wfrr ★★☆
()
Ответ на: комментарий от wfrr

> Это клиника. Поехавшая логика значит не косяк программы. Кроме того если такой быдло код ты позволил себе тут, то при работе с базой будет тоже самое.

Если считаешь это клиникой,и даже не читаешь то,что я пишу - приведи мне пример идеального процедурного кода с разделением логики и интерфейса. Без использования классов. Можно хоть не на php, но язык должен быть не компилируемый и заточен под web.

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

Закон запрещающий ставить отступы в ЯП, кроме питона?

guilder
()
Ответ на: комментарий от wfrr

а ошибку автоматически найти не даст.

Я придумал! Надо создать стек и складывать туда нужные «закрывающие функции» в виде строк, которые в процессе eval-ить по одной. Если в конце процедуры стек не пуст, значит в коде ошибка. Главное, что тут все без ООП, а значит работать будет быстро.

guilder, по-моему, отличный рецепт, возьми на заметку.

dmsh
()
Ответ на: комментарий от guilder

Если считаешь это клиникой,и даже не читаешь то,что я пишу - приведи мне пример идеального процедурного кода с разделением логики и интерфейса.

Чувак, может мне за тебя и твою работу сделать? А?

на убогих язычках

div.add(
  span.add(a).add(br)
)

или на функциональном

div{
  span{
    a
    br
  }
}

результат:
<div>
  <span>
    <a/>
    <br/>
  </span>
</div>

проверка интерпретатором, расстановка закрывающих тегов, обрабока исключений - все из каробки, и писанины меньше + автоформатирование.

Но да для быдлокодеров это писец как сложно, даже для понимания.

Без использования классов. Можно хоть не на php, но язык должен быть не компилируемый и заточен под web.

У тебя тяжелое дество, и родители запрещают использовать ООП или пользоваться языками не для веба?

Закон запрещающий ставить отступы в ЯП, кроме питона?

Закон запрещающий нахождения людей представляющих опасность для общества вне лечебных учереждений. Твой шлангит может быть заразен.

wfrr ★★☆
()

MVC - избыточное нагромождение сущностей. Для большинства задач удобнее MV

annulen ★★★★★
()
Ответ на: комментарий от dmsh

Надо создать стек и складывать туда нужные «закрывающие функции» в виде строк, которые в процессе eval-ить по одной.

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

wfrr ★★☆
()
Ответ на: комментарий от wfrr

что в словах «Без использования классов» непонятно.

вне лечебных учереждений

ты не поверишь....

и да как я уже говорил:

Слейте кровь из глаз. А то она явно на что-то давит.

guilder
()

Мне очень нравится ру-борд.

TGZ ★★★★
()
Ответ на: комментарий от guilder

>Люди которые так или иначе это тоже делают, разбираются довольно быстро.

А люди, которые так не делают, начинают плакать кровавыми слезами. Так?

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.