- 1
- 2
- 3
if ($this->_session->isLoggedIn() && isset($jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']['shippingAddress']['children']['before-form']['children'])) {
// some code
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
if ($this->_session->isLoggedIn() && isset($jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']['shippingAddress']['children']['before-form']['children'])) {
// some code
}
Самая правильная проверка наличия элемента в DOM...
+5
<?
if($login=='')
{
global $APPLICATION;
$APPLICATION->ThrowException('Имя входа должно быть заполнено.');
return false;
}
// Получить последнее исключение можно методом
$APPLICATION->GetException()
?>
Bitrix. Лучшие стандарты веб-разработки и новое ядро! Создатели логики try-catch-throw наверное перевернулись бы 100500 раз в гробу увидев такую "реализацию". Пруф как "нужно делать": https://dev.1c-bitrix.ru/api_help/main/reference/cmain/throwexception.php
+5
private string GetMinutes()
{
string minute = (DateTime.Now.Minute < 10) ? "0" + DateTime.Now.Minute.ToString() : DateTime.Now.Minute.ToString();
return minute;
}
private string LogPath(string minute)
{
string logPath = Param.directory + @"\log(" + DateTime.Now.ToShortDateString() + " "
+ DateTime.Now.Hour.ToString() + "." + minute + ").txt";
return logPath;
}
string minute = GetMinutes(); //Минуты формата "мм" для имени файла ЛОГа.
return LogPath(minute); //Путь файла ЛОГа
+5
function insertComment(comment) {
// todo: optimize this shit
for (var j = 0; j < $scope.comments.length; ++j) {
if ($scope.comments[j].thread_id == comment.thread_id) {
$scope.comments[j] = comment;
return;
}
if ($scope.comments[j].comment_id < comment.comment_id) {
$scope.comments.splice(j, 0, comment);
return;
}
}
$scope.comments.push(comment);
}
for (var i = 0; i < data.length; ++i) {
comment = data[i];
comment.text = $sce.trustAsHtml(comment.text);
comment.postedFuzzy = fuzzyDate(new Date(comment.posted), new Date());
insertComment(comment);
}
Оптимальное набивание комментов в сток за O(n^2).
http://146.185.130.46/ngk/
+5
// Если игрок временный то не даём изменять лимит
public void updatePlayerLimits(Long userId, int limitAmount) {
Player player = userComponent.getPlayer(userId);
if (player == null) {
throw new RuntimeException("Error on find user for updating user deposit limits, userId = " + userId);
}
if (player.isTemporary()) {
throw new RuntimeException("saveLimit-newAmount-tempPlayer-message");
}
player.setLimit(limitAmount)
}
// И где-то в контроллере админки
public void doSubmit() {
...
try {
getPlayerLimitComponent().updatePlayerLimits(getPlayerId(), 10);
}catch(RuntimeException e){
if(!e.getMessage().equals("saveLimit-newAmount-tempPlayer-message"))
throw e;
}
}
Просто молча не даём админам изменять лимиты игроку если он временный
+5
//Сегодня у меня вопрос по говнокоду.
//Как у нас на говнокодике реализовано сколько непросмотренных комментариев в каждом треде?
//Неужели на каждого юзера заводится счётчик и инкрементится при добавлении в каждой теме?
//Неужели на каждого юзера на каждый комментарий заводится флаг, сообщающий какой комментарий прочитан, а какой нет?
+5
if ($('.b-form__row_hide').hasClass('b-form__row_hide')) {
$('.b-form__row_hide').addClass('b-form__row_hide');
}
+5
public void TrimExcess()
{
int num;
num = (int) (((double) ((int) this._items.Length)) * 0.9);
if (this._size >= num)
{
goto Label_002A;
}
this.Capacity = this._size;
Label_002A:
return;
}
Хуброхапр
+5
/**
* Detects if the current device is using a mac OS
*/
function DetectMacOSX() {
if (stripos($this->userAgent, $this->macOSX) !== FALSE) {
return TRUE;
}
else {
return FALSE;
}
}
+5
https://github.com/KvanTTT/Cool-Compiler/blob/master/CoolCompiler/CoolCompiler.cs
Учитесь, сопляки, как исключения перехватывать!