- 1
- 2
- 3
// this method is used for storing name instead of password
@Override
public String getPassword() { return name; }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
// this method is used for storing name instead of password
@Override
public String getPassword() { return name; }
+2
Как избавиться от говнокода?
Вот есть большой проект в большой корпорации. Ты приходишь и видишь, что архитектура говно, комментариев нет, стиль кода различается в разных частях одного файла, да и в остальных мелочах полный говнокод.
С другой стороны, нужно добавить много разных фич и пофиксить баги, все программисты и ты тоже активно заняты этим, вы приделываете новые костыли и заплатки.
Как с этим бороться? Убеждать менеджера, что вам нужно несколько недель, а то и месяцев на полный рефакторинг всего? Заниматься этим в свободное время? Забить и говнокодить дальше? Уйти в другое место (не факт ведь, что там будет лучше)?
+156
<?php
class view {
protected $dir; //templates directory
protected $lang; //language
protected $authorized;
protected $user;
protected function getCache($template) {
//return false; //uncomment for developing
if (!isset($_SESSION['cache_' . $template])) return false;
return $_SESSION['cache_' . $template];
}
protected function addCache($template, $content) {
$_SESSION['cache_' . $template] = $content;
}
public function __construct($dir, localization $lang, user $user) {
$this->dir = $dir;
$this->authorized = (bool) $user->authorized;
$this->user = $user;
$this->lang = $lang;
}
public function invoke($template, $params = [], $return = false, $quests = []) { //can be called w/o params
$filename = ROOT . '/' . $this->dir . '/tpl/' . $template . '.tpl';
$lang = $this->lang->getData();
$content = $this->getCache($template);
if (!$content) {
$f = fopen($filename, 'a+');
$content = fread($f, (filesize($filename) > 0 ? filesize($filename) : 1));
$this->addCache($template, $content);
}
foreach ($params as $key => $value) {
$content = str_ireplace('{{' . $key . '}}', $value, $content);
}
preg_match_all("@{{:([a-z0-9_]+?)}}@sui", $content, $localization);
$localization = $localization[1];
foreach ($localization as $value) {
$content = str_ireplace('{{:' . $value . '}}', $lang[$value], $content);
} //applying lang
foreach ($quests as $key => $value) {
preg_match_all("@{\?$key=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
while (!empty($matches[0])) {
$content = str_replace($matches[0][0], $matches[1][0], $content);
preg_match_all("@{\?$key=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
}
preg_match_all("@{\?$key=((?!$value).+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
while (!empty($matches[0])) {
$content = str_replace($matches[0][0], "", $content);
preg_match_all("@{\?$key=((?!$value).+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $matches);
}
}
preg_match_all("@{\?access=([a-z0-9]+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $perms);
while (!empty($perms[0])) {
foreach ($perms[1] as $value) {
if ($this->user->canAccess($value))
$content = preg_replace("@{\?access=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", "$1", $content);
else $content = preg_replace("@{\?access=$value\?}(((?!{\?.+\?}).)*?){\?\?}@sui", "", $content);
}
preg_match_all("@{\?access=([a-z0-9]+?)\?}(((?!{\?.+\?}).)*?){\?\?}@sui", $content, $perms);
}
$content = preg_replace("@{\?authorized=((?!" . (int) $this->authorized . ").+?)\?}(.+?){\?\?}@sui", "", $content);
$content = preg_replace("@{\?authorized=" . (int) $this->authorized . "\?}(.+?){\?\?}@sui", "$1", $content);
$content = preg_replace("@{\?(.+?)\?}(.+?){\?\?}@sui", "", $content);
$content = str_ireplace('{{DIR}}', '/' . $this->dir, $content); //replacing DIR param
$content = str_ireplace('{{URI}}', urlencode(other::filter($_SERVER['REQUEST_URI'])), $content); //replacing URI param
$content = str_ireplace('{{HTTP_HOST}}', $_SERVER['HTTP_HOST'], $content); //replacing HTTP_HOST param
$content = preg_replace("@{\?((.+?)|(.+?){0})\?}@sui", "", $content);
if (!$return) echo $content;
return $content;
}
}
?>
Мой шаблонизатор. Детям и беременным женщинам не смотреть.
+80
Главная » Усыпление программы
Усыпление программы
Автор: -Гепард97-
Написать автору
[просмотров 751]
В VBS есть функция wscript.sleep, позволяющая усыпить скрипт. Но как такое сделать в VB? Ответ прост: делаем новый модуль и пишем код:
Public Declare Sub Sleep Lib "kernel32" (byval dwMilliseconds As Long)
И все. Когда прогу нужно усыпить, просто пишем в коде проги, если например прога должна остановиться на 2 секунды то пишем
Sleep 2000
Этого способа нет на MSDN, я его сам отрыл
Билл Гатэс прочел это и уснул...
Z-z-z-z...
+54
foreach($Articles as $art){
$id = $art['id'];
$count++;
if(isset($_GET['str'])){
$str = (int)$_GET['str'];
$mn = $number*($str-1)+1;
}else{
$str = 1;
$_GET['str'] = 1;
}
if($count == $mn){
$flag = true;
$k=5;
}
if($flag && $k!=0){
$k--;
$title = $art['title'];
$content = $art['content'];
$author = $art['author'];
$date = $art['date'];
printf("<h1>%s</h1><br /><h3 align='left'>%s</h3>%s <a href='index.php?id=articles&str=%s&nomer=%s'>Далее</a><hr /><br />",$title,$date, substr($content, 0,800),$nav, $id);
}
}
Постраничная навигация
+160
http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T
Часовая презентация Герб Саттера о будущем C++.
От себя хочется добавить: "Где здесь С++, Герб Саттер?"
+146
$this->load->model('Bimail');
$this->Bimail->beautymail(
$this->adminmail,
$this->input->post('mail'),
$$this->adminsubject,
$this->input->post('name'),
$this->input->post('text'));
$this->redirect('conn/ok');
Как видите я написал два знака доллара на 5 строке. При таком вызове фукции у мея виснет httpd.exe (это Apach). Кто может объяснить почему?
И еще: почему РНР не выдает ошибки?
*Провернуть такую ошибку в простом коде не получилось.
+154
//TransFunc.h
//Девиз
#ifndef MyOwn
#define MyOwn
#define Blackjack J♠
#define Hookers
#endif
class TransferFunction
{
private:
//...
class Polynom
{
Polynom(TransferFunction * Base); //Ссылка на базовый класс обязательна!
//...
}
Polynom *Numerator, *Denominator;
//...
class TransferProcess
{
TransferProcess(TransferFunction * Base); //Ну куда же я без него...
DynamicArray<double> TransGraphic; //Данные графика.
//...
}
TransferProcess * TrancProc;
//...
class SystemOptimisator
{
SystemOptimisator(TransferFunction * Base); //Именно так и никак иначе.
TransferFunction * TempFunction; //Это я так, на всякий случай...
Polynom *Backup_Numerator, *Backup_Denominator;
DynamicArray<Polynom> CorrectingDevice; //А чо? Работает ведь...
//...
}
SystemOptimisator * Opt;
//Тут ещё классы "Matrix", "Vector", "Report" и многие другие.
publuc:
TransferFunction();
~TransferFunction();
void Optimize();
};
Краткость - сестра таланта:-)
Захотелось мне удивить преподавателя (в программировании он не особо подкован (впрочем, как и я :-) )) короткой и простой "программой". Оно работало, до определенного момента, когда я попытался вставить ещё один класс... Потом я, конечно, всё переписал, по-человечески структурировав и избавившись от DynamicArray, но эти грабли я запомнил на всю жизнь.
0
main: () -> int = {
std::cout << "hello world!";
}
Война не всех убила..
https://github.com/hsutter/cppfront
+1
/index.php/module/action/param1/${@die(md5(HelloThinkPHP))}: 1 Time(s)
/index.php?s=%2f%69%6e%64%65%78%2f%5c%74%6 ... %6e%6b%50%48%50: 1 Time(s)
/index.php?s=/module/action/param1/${@die( ... elloThinkPHP))}: 1 Time(s)
такую вот хуйню в логах вижу
пыха у меня разумеется никакого нет, но что это вообще такое? Что так ломают?