- 1
- 2
- 3
- 4
// Return limit*2 items max, try to fit as good as possible
vakgebieden = _.take(vakgebieden, limit);
trefwoorden = _.take(trefwoorden, limit * 2 - vakgebieden.length);
vakgebieden = _.take(vakgebieden, limit * 2 - trefwoorden.length);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 9
+154
// Return limit*2 items max, try to fit as good as possible
vakgebieden = _.take(vakgebieden, limit);
trefwoorden = _.take(trefwoorden, limit * 2 - vakgebieden.length);
vakgebieden = _.take(vakgebieden, limit * 2 - trefwoorden.length);
+156
if ($end < $start) {
$errorLimit = '<p><u><b>End limit</b></u> should be bigger number than <u><b>Start limit</b></u></p>';
//echo $errorLimit;
throw new \grdprc\Exception(strip_tags($errorLimit));
return;
}
<p><u><b> тоже ок.
+126
<link rel="stylesheet" href="/libraries/mediaelement/mediaelementplayer.min.css">
<link href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" rel="stylesheet">
<script type="text/javascript" src="/js/jquery/jquery-latest.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="/libraries/mediaelement/andplayer.min.js"></script>
<script type="text/javascript" src="/js/jquery_tools.js"></script>
Все это, пара десятков строк мутного джаваскрипта и столько же HTMLя и PHP потребовалось опытному филиппинскому сотруднику, чтобы добавить видеоролик на страницу.
+157
if (is_array(reset((array)$patentInfo))) {
// ...
}
+167
/**
* Return data
*
* @return array
*/
public function __toString()
{
return $this->toArray();
}
/**
* Return Data
*
* @return array
*/
public function toArray()
{
return $this->_data;
}
No comments
+156
extract($params);
foreach (array("subject", "title", "content") as $par) {
if (empty($$par)) {
return false;
}
}
Валидация входных параметров. Каждая строка тут прекрасна
+160
<?php
class UserSessionComponent extends Component {
//...
protected function loginByUserId($user_id, $is_autologin = false) {
$list = $this->_loadComponents($this->components, array('UserAuth'));
$userAuth = $list['UserAuth'];
$userAuth->startup($this->controller); # !!! WORKFLOW VIOLATION !!!
$method = $is_autologin ? 'autologin' : 'login';
if ($userAuth->$method($user_id)) {
return $this->controller->Session->read('User.data');
}
}
//...
}
class UserAuthComponent extends BaseMagicComponent {
protected $loginType = 'explicit';
//...
public function autologin($params = array()) {
$this->loginType = 'implicit';
return $this->_login($params);
}
public function login($params = array()) {
$this->loginType = 'explicit';
return $this->_login($params);
}
//...
protected function _login($params = array()) {
switch (true) {
case (is_array($params) && isset($params['user']) && isset($params['password'])):
$result = $this->loginByUserAndPassword($params['user'], $params['password']);
break;
case (is_numeric($params) && $params > 0):
$result = $this->loginUser($params);
break;
default:
if (empty($params)) {
$result = false;
} else {
$result = $this->loginUser($params);
}
}
// ...
}
// ...
public function loginUser($user) {
switch (true) {
case is_object($user):
if (isset($user->data)) {
$a_user = $user->data;
} else {
return false;
}
break;
case (is_numeric($user) && ($user > 0)):
if (!($a_user = $this->User->findById($user))) {
return false;
}
break;
case (is_array($user) && (isset($user['User']['id']))):
$a_user = $user;
break;
default:
return false;
}
// ...
CFL::using('log');
if (empty($GLOBALS['loginIsLogged'])) {
$loginLog = new cflLoginTrackingLogger();
if ($this->loginType == 'implicit') {
$loginLog->implicit_login(array('user_id' => $a_user['User']['id']));
} else {
$loginLog->explicit_login(array('user_id' => $a_user['User']['id']));
}
$GLOBALS['loginIsLogged'] = true;
}
// ...
}
}
Сорри за много-много кода, еле-еле вписался в лимит. Но пришлось запостить все. Логическая цепочка совершенно потрясающая (смотрим с самого верхнего метода и идем дальше к самому нижнему методу). Тут у нас кода просто по колено: сумасшедший пахлава-код, использование глобальной переменной флага, особое извращенное использование конструкции switch, фактическое дублирование этого самого switch в двух последних методах, нейминг переменных и методов...
Казалось бы, как все это вообще могло быть написано? Но использование компонента с говорящим именем BaseMagic все ставит на свои места.
+160
if ($this->Session->check('_userJustRegistered')) {
switch (($tmpJR = $this->Session->read('_userJustRegistered'))) {
case 'confirmed':
$this->Session->delete('_userJustRegistered');
break;
case 'not_confirmed_first':
$this->Session->write('_userJustRegistered', 'not_confirmed');
break;
}
}
Кусочек многоступенчатой системы по определению статуса юзера.
+157
public function getUserDeliveryList($deliverySettings) {
$obligatoryFieldsList = array('type', 'periods', 'freq');
foreach ($obligatoryFieldsList as $v){
if (!isset($deliverySettings[$v])){
return false;
} else {
$$v = $deliverySettings[$v];
}
}
// ...
}
Обратил внимание после того, как в тексте метода обнаружил некоторое количество undefined (по мнению IDE) переменных.