- 1
- 2
- 3
- 4
- 5
- 6
- 7
private void DeleteNode()
{
viewModel.timing.Rows.Remove(Row);
viewModel.Rows.Remove(this);
//(x_x)
viewModel.ModelChanged.Raise();
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
private void DeleteNode()
{
viewModel.timing.Rows.Remove(Row);
viewModel.Rows.Remove(this);
//(x_x)
viewModel.ModelChanged.Raise();
}
При самоубиении не забудьте оставить коммент для GC, чтобы он ошмётки отскрёб от стенки
+3
@PostLoad
protected void initStatus() {
anState status = null;
if (isDeleted()) {
status = anState.S_DELETED;
} else if (actState != null) {
if (actState.equals(anState.S_NOT_FILLED)) {
status = anState.S_NOT_FILLED;
} else if (actState.equals(anState.S_FORMED)) {
status = anState.S_FORMED;
} else if (actState.equals(anState.S_SENT) &&
(Document != null && Document.getState().equals(DocumentState.SENT))) {
status = anState.S_SENT;
} else if (actState.equals(anState.S_SENT) &&
(Document == null ||
(Document != null && !Document.getState().equals(DocumentState.SENT)))) {
status = anState.S_SENDING;
} else if (actState.equals(anState.S_CANCELLATION_REQUEST)) {
status = anState.S_CANCELLATION_REQUEST;
} else if (actState.equals(anState.S_CANCELED)) {
status = anState.S_CANCELED;
}
}
this.status = status;
}
> кстати, валится же в методе
private boolean isReadonly(anState status) {
return !status.equals(anState.ACT_FORMED) &&
!status.equals(anState.ACT_NOT_FILLED);
}
> но мы же не знаем, что енумы можно сравнивать и по == (т.к. поля енума - константы), и привычки сравнивать equals на константном выражении тем более не имеем :)
> facepalm.jpg, словом :)
+8
Может кто знает, как работать с методом Table<TEntity>.Attach? Пробовал использовать его по разному, но результат получается один и тот же - Exception.
+1
#include <iostream>
#include <tuple>
using namespace std;
template<typename T, typename T0, typename T1, typename ...Args>
void PrintStruct(const tuple<T0 T::*, T1 T::*, Args T::*...>& members, const T& val)
{
cout << val.*std::get<0>(members) << endl;
PrintStruct(members._Get_rest(), val);
}
template<typename T, typename T0>
void PrintStruct(const tuple<T0 T::*>& members, const T& val)
{
cout << val.*std::get<0>(members) << endl;
}
struct MyStruct
{
int x;
float y;
static const tuple<decltype(&MyStruct::x), decltype(&MyStruct::y)> Members;
};
const tuple<int MyStruct::*, float MyStruct::*> MyStruct::Members = std::make_tuple(&MyStruct::x, &MyStruct::y);
int main()
{
MyStruct str = {123, 3.14159f};
PrintStruct(MyStruct::Members, str);
return 0;
}
Пытался понять, почему мой код не компилится в 2013 студии, и быстренько накатал этот минимальный пример. Но вышел облом - он почему-то компилится, в отличие от моей реальной либы со схожими шаблонными крестоконструкциями.
+3
$exceptionClass = '\yii\db\Exception';
foreach ($this->exceptionMap as $error => $class) {
if (strpos($e->getMessage(), $error) !== false) {
$exceptionClass = $class;
}
}
...
return new $exceptionClass($message, $errorInfo, (int) $e->getCode(), $e);
Yii <3
https://github.com/yiisoft/yii2/blob/master/framework/db/Schema.php#L625-L633
+8
const
#include "file.xpm"
У чувака в файле file.xpm объявлен массив static char * icon_xpm [] = { "..", "..", ... } и он не может заинклудить его в плюсовый код. Вот такой воркараунд ему предложили.
https://www.linux.org.ru/forum/development/10400992?cid=10406949
+3
$arParams["SET_TITLE"] = $arParams["SET_TITLE"]!="N";
$arParams["SET_LAST_MODIFIED"] = $arParams["SET_LAST_MODIFIED"]==="Y";
news.detail - cтандартный компонент Битрикса
+1
static function saveoprosform_ajax()
{
global $DB, $USER;
$task_id = $_REQUEST["task_id"];
$qlist = $_REQUEST["qlist"];
$sql = "DELETE FROM `tickets_qc_results` WHERE `task_id`=" . $DB->F($task_id) . ";";
$DB->query($sql);
$DB->free();
if ($task_id && $qlist) {
// другой говнокод
$sql = "INSERT INTO `tickets_qc_results`...';
$DB->query($sql);
} else {
$ret["error"] = "Недостаточно данных для выполнения операции!";
}
echo json_encode($ret);
return false;
}
Сначала удаляем, потом проверяем by ©senior shaurma developer
+3
Я упал
0
/**
* Sets the user in the token.
*
* The user can be a UserInterface instance, or an object implementing
* a __toString method or the username as a regular string.
*
* @param string|object $user The user
*
* @throws \InvalidArgumentException
*/
public function setUser($user)
{
if (!($user instanceof UserInterface || (is_object($user) && method_exists($user, '__toString')) || is_string($user))) {
throw new \InvalidArgumentException('$user must be an instanceof UserInterface, an object implementing a __toString method, or a primitive string.');
}
if (null === $this->user) {
$changed = false;
} elseif ($this->user instanceof UserInterface) {
if (!$user instanceof UserInterface) {
$changed = true;
} else {
$changed = $this->hasUserChanged($user);
}
} elseif ($user instanceof UserInterface) {
$changed = true;
} else {
$changed = (string) $this->user !== (string) $user;
}
if ($changed) {
$this->setAuthenticated(false);
}
$this->user = $user;
}
https://github.com/symfony/security-core/blob/master/Authentication/Token/AbstractToken.php#L93