- 1
- 2
- 3
- 4
static void Alert(object text)
{
Console.WriteLine(text);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−10
static void Alert(object text)
{
Console.WriteLine(text);
}
0
private void CaretNormalize() {
if (Template.Terminals.Count == 0) { _sTermEnd = _sOffStart = _sOffEnd = _sTermStart = 0; return; }
if (_sTermStart == _sTermEnd) {
if (_sTermStart < 0) _sTermEnd = _sOffStart = _sOffEnd = _sTermStart = 0;
else if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = _sTermStart = Template.Terminals.Count - 1;
_sOffStart = _sOffEnd = Template.Terminals[Template.Terminals.Count - 1].Text.Length;
}
else {
if (_sOffStart != _sOffEnd) {
var nos = Math.Min(_sOffStart, _sOffEnd);
_sOffEnd = Math.Max(_sOffStart, _sOffEnd);
_sOffStart = nos;
if (_sOffStart < 0) {
_sTermEnd = --_sTermStart;
if (_sTermEnd < 0) _sTermStart = _sOffStart = 0; else _sOffStart = Template.Terminals[_sTermEnd].Text.Length - 1;
}
if (_sOffEnd > Template.Terminals[_sTermEnd].Text.Length - 1) {
_sTermEnd = ++_sTermStart;
if (_sTermEnd > Template.Terminals.Count - 1)
{
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = Template.Terminals[_sTermEnd].Text.Length;
}
else _sOffEnd = 0;
}
}
else
{
if (_sOffStart < 0) {
_sTermEnd = --_sTermStart;
if (_sTermEnd < 0) _sTermStart = _sOffEnd = _sOffStart = 0; else _sOffEnd = _sOffStart = Template.Terminals[_sTermEnd].Text.Length - 1;
}
if (_sOffEnd > Template.Terminals[_sTermEnd].Text.Length - 1) {
_sTermEnd = ++_sTermStart;
if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = _sOffStart = Template.Terminals[_sTermEnd].Text.Length;
} else _sOffEnd = _sOffStart = 0;
}
}
}
} else {
if (_sTermStart > _sTermEnd) {
var t = _sTermStart;
_sTermStart = _sTermEnd;
_sTermEnd = t;
t = _sOffStart;
_sOffStart = _sOffEnd;
_sOffEnd = t;
}
if (_sTermStart < 0) _sOffStart = _sTermStart = 0;
if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = Template.Terminals[Template.Terminals.Count - 1].Text.Length;
}
if (_sOffStart < 0) {
--_sTermStart;
if (_sTermStart < 0) _sTermStart = _sOffStart = 0; else _sOffStart = Template.Terminals[_sTermStart].Text.Length - 1;
}
if (_sOffEnd > Template.Terminals[_sTermEnd].Text.Length - 1) {
++_sTermEnd;
if (_sTermEnd > Template.Terminals.Count - 1) {
_sTermEnd = Template.Terminals.Count - 1;
_sOffEnd = Template.Terminals[_sTermEnd].Text.Length;
}
else _sOffEnd = 0;
}
}
}
0
WriteBuffer = enc.GetBytes("$ FETCH " + number + " BODY[HEADER]\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
ListMessage = strReader.ReadLine();
//...
while ((ListMessage.IndexOf("$ OK ") == -1) && (ListMessage.IndexOf("$ BAD ") == -1))
{
//Типа там читаем всякие заголовки и прочие бла-бла
if (ListMessage.IndexOf("filename=") > -1)
{
temp = ListMessage.Replace("filename=", "");
temp = temp.Trim();
file_name = temp;
is_file = 1; temp = ""; is_att = 1;
}
//...
ListMessage = strReader.ReadLine();
continue;
}
//...
WriteBuffer = enc.GetBytes("$ FETCH " + number + " BODY[TEXT]\r\n");
netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
ListMessage = strReader.ReadLine();
temp = "";
end_file = 0;
body = "";
if (ListMessage.IndexOf("$ BAD ") == -1) ListMessage = strReader.ReadLine();
if (ListMessage == "")
is_body = 0;
else
is_body = 1;
while ((ListMessage.IndexOf("$ OK ") == -1) && (ListMessage.IndexOf("$ BAD ") == -1))
{
if (is_body == 1)
{
if (ListMessage == "")
is_body = 0;
else
body = body + ListMessage;
}
if ((is_att == 1) && (end_file == 0))
{
if (is_file == 1)
{
if (ListMessage.IndexOf("--") > -1)
end_file = 1;
else
temp = temp + ListMessage;
}
if (ListMessage == "")
{
is_file = 1;
}
}
if (ListMessage.IndexOf("Content-Disposition: attachment;") > -1)
{
is_att = 1;
}
//...
ListMessage = strReader.ReadLine();
continue;
}
if (is_att==0)
{
//А тут ничего интересного, просто декодирование из Base64 и сохранение в файл
}
Следите за булями (точнее, их суррогатами).
ЗЫ: да, я уже выкладывал кусок из того же модуля, и там уже были некоторые куски, которые попали и сюда тоже.
+1
document.getElementById('order').addEventListener('submit', function(e){
document.getElementById('order').addEventListener('keyup', function(e){
var appBtns = document.getElementsByClassName('btn'), i;
for (var i = 0; i < appBtns.length; i ++)
appBtns[i].style.disabled = false;
form.submit.disabled = false;
});
var appBtns = document.getElementsByClassName('btn'), i;
for (var i = 0; i < appBtns.length; i ++)
appBtns[i].style.disabled = true;
form.submit.disabled = true;
});
без комментариев
−1
if ( strpos(str_replace('"', "'", json_encode($opt)), "'status':0") )
Зачем
+1
$res2=CSaleBasket::GetList(array(), array(
"PRODUCT_ID"=>$record["PRODUCT_ID"],
"!ORDER_ID"=>0
));
$reserverY = array("N", "A", "C", "B", "D", "P", "R", "S", "T", "E");
while($record2=$res2->GetNext()){
$ordNext = CSaleOrder::GetList(array(), array("ID"=>$record2['ORDER_ID']))->GetNext();
if(in_array($ordNext['STATUS_ID'], $reserverY) && $ordNext['CANCELED'] != 'Y')
{
$product["QUANTITY_RESERVED"] += $record2['QUANTITY'];
}
}
−4
<Style>
html { overflow: visible !important; }
</Style>
CSS конечно, но...
−97
tmpDt = ДобавитьМесяц(СсылкаНаОбъект.Дата, -3);
Если Месяц(СсылкаНаОбъект.Дата)<4 Тогда
txt = "Д.в. "+Месяц(tmpDt)+"/"+Год(tmpDt)+"-"+ "0"+Месяц(СсылкаНаОбъект.Дата)+"/"+Формат(Год(СсылкаНаОбъект.Дата),"ЧГ=0");
Иначе
Если Месяц(СсылкаНаОбъект.Дата)<10 Тогда
txt="Д.в. "+"0"+Месяц(tmpDt)+"-"+"0"+Месяц(СсылкаНаОбъект.Дата)+"/"+Формат(Год(СсылкаНаОбъект.Дата),"ЧГ=0");
Иначе
txt="Д.в. "+"0"+Месяц(tmpDt)+"-"+Месяц(СсылкаНаОбъект.Дата)+"/"+Формат(Год(СсылкаНаОбъект.Дата),"ЧГ=0");
КонецЕсли;
КонецЕсли;
Неумение пользоваться форматной строкой приводит к перлам наподобие "если месяц меньше 10, то добавить к месяцу нолик слева".
Это не считая разборки в числа и сборки назад в строку.
0
// Private method of server, which dispatches active incoming connection.
// Function receives address string and uses it as key to retrieve cached connection.
// Fetched connection is getting read by bufio.Reader, parsed to header and data string if it's size was pointed in header.
// Next, the parsed data handles by protocol and writes a response message.
// The process turns in loop until whether input stream will get an EOF or an error will be occurred.
// In the last case it will be return some error message to a client.
// Anyway, at the end connection will be broken up.
func (server *Server) dispatch(address string) {
defer server.free_chan()
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_new_cmd"
}
connection := server.connections[address]
connectionReader := bufio.NewReader(connection)
// let's loop the process for open connection, until it will get closed.
for {
// let's read a header first
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_read"
}
received_message, n, err := readRequest(connectionReader, -1)
if err != nil {
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_swallow"
}
if err == io.EOF {
server.Logger.Info("Input stream has got EOF, and now is being closed.")
server.breakConnection(connection)
break
}
server.Logger.Warning("Dispatching error: ", err, " Message: ", received_message)
if !server.makeResponse(connection, []byte("ERROR\r\n"), 5){
break
}
} else {
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].Cmd_hit_ts = time.Now().Unix()
}
// Here the message should be handled
server.Stat.Read_bytes += uint64(n)
parsed_request := protocol.ParseProtocolHeader(string(received_message[ : n - 2]))
server.Logger.Info("Header: ", *parsed_request)
if (parsed_request.Command() == "cas" || parsed_request.Command() == "gets") && server.cas_disabled ||
parsed_request.Command() == "flush_all" && server.flush_disabled{
err_msg := parsed_request.Command() + " command is forbidden."
server.Logger.Warning(err_msg)
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_write"
}
err_msg = strings.Replace(protocol.CLIENT_ERROR_TEMP, "%s", err_msg, 1)
server.makeResponse(connection, []byte(err_msg), len(err_msg))
continue
}
if parsed_request.DataLen() > 0 {
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_nread"
}
received_message, _, err := readRequest(connectionReader, parsed_request.DataLen())
if err != nil {
server.Logger.Error("Error occurred while reading data:", err)
server.breakConnection(connection)
break
}
parsed_request.SetData(received_message[0 : ])
}
server.Logger.Info("Start handling request:", *parsed_request)
response_message, err := parsed_request.HandleRequest(server.storage, server.Stat)
server.Logger.Info("Server is sending response:\n", string(response_message[0 : len(response_message)]))
// if there is no flag "noreply" in the header:
if parsed_request.Reply() {
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_write"
}
server.makeResponse(connection, response_message, len(response_message))
}
if err != nil {
server.Logger.Error("Impossible to send response:", err)
server.breakConnection(connection)
break
}
}
if server.Stat.Connections[address] != nil {
server.Stat.Connections[address].State = "conn_waiting"
}
}
}
memcache на go
−98
СтрокаТовары.Качество = СтрокиОст.Качество;
СтрокаТовары.ЕдиницаИзмерения = СтрокиОст.ЕдИзм;
СтрокаТовары.ЕдиницаИзмеренияМест = СтрокиОст.ЕдИзмМест;
Поражает сам подход. А почему бы не выдумать для (поля/объекта/коллекции) ещё одно уникальное имя?! Ведь столько ещё свободных и красивых уникальных имён в мире есть! К тому же "ЕдИзм" - это ведь короче чем "ЕдиницаИзмерения", не правда ли? Дурак перепутает только, правда? Писать ведь будет удобней, правда?
Ладно... про ЗаполнитьЗначенияСвойств писать уже баян. Но ведь СтрокиОст - это строка какой-то таблицы? А в исходной таблице это называлось "ЕдиницаИзмерения", наверное, да? Так зачем лишний раз придумывать псевдоним?!!! Зачем? Почему просто не соединить таблицы друг с другом в запросе? Почему?! Почему нужно постоянно дрочить циклами?!
Циклы надо применять тогда, когда нельзя по-другому, а это узкий круг задач, например те, где нужен CAST которого в 1С нет, или распределение одной таблицы на другую по какому какой нибудь "хитровыдуманной и уникальной" бизнес логике. Даже списание по ФИФО уже придумали как сделать запросом... Не хочу! Хочу циклы...