- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
int tries = 0;
while (true)
{
try
{
DoSomething();
}
catch
{
if (++tries > 3)
throw;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 8
+5
int tries = 0;
while (true)
{
try
{
DoSomething();
}
catch
{
if (++tries > 3)
throw;
}
}
Оригинальный способ попытаться выполнить некий код, давая ему на это N попыток , а только потом упасть с ошибкой.
+3
std::string sql = "INSERT INTO digest_test_record (set_id, ref_digest, cand_digest, vdt_cfg_warn, digest_cfg_warn, "
"ref_duration, ref_cardinality, ref_dispersion, "
"cand_duration, cand_cardinality, cand_dispersion, "
"cardinality, difference, red_difference, ext_difference, "
"inv_cardinality, inv_difference, inv_red_difference, inv_ext_difference,
"timing, lib_version) SELECT 0, "
"ROW($1, $2, $3, $4, $5, $6, $7, $8)::digest_info, "
"ROW($9, $10, $11, $12, $13, $14, $15, $16)::digest_info,"
"$17, $18, ",
"$19, $20, $21, "
"$22, $23, $24, "
"$25, $26, $27, $28, "
"$29, $30, $31, $32, "
"$33, ROW($34, $35, $36, make_date($37, $38, $39), $40)::lib_version_info";
cn.prepare("insert", sql);
xact.prepared("insert")
(ref_digest_info.src_width)(ref_digest_info.src_height)(ref_digest_info.src_fps)(ref_digest_info.src_duration)
(ref_digest_info.vdt_duration)(ref_digest_info.cardinality)(ref_digest_info.has_flags)(ref_digest_info.src_filename)
(cand_digest_info.src_width)(cand_digest_info.src_height)(cand_digest_info.src_fps)(cand_digest_info.src_duration)
(cand_digest_info.vdt_duration)(cand_digest_info.cardinality)(cand_digest_info.has_flags)(cand_digest_info.src_filename)
(results.vdt_cfg_warn)(results.digest_cfg_warn)
(results.ref_duration)(results.ref_cardinality)(results.ref_dispersion)
(results.cand_duration)(results.cand_cardinality)(results.cand_dispersion)
(results.cardinality)(results.difference)(results.red_difference)(results.ext_difference)
(results.inv_cardinality)(results.inv_difference)(results.inv_red_difference)(results.inv_ext_difference)
((double)timing / CLOCKS_PER_SEC)(li.main_ver)(li.sub_ver)(li.revision)(li.year)(li.month)(li.day)(li.platform).exec();
Мои глаза.... Яркий пример использования нативного pqxx
−2
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System.Collections.ObjectModel;
using System.Linq;
namespace DemoFeb2014.DataContexts
{
using System;
using System.Collections.Generic;
public partial class Author
{
....
public ICollection<Tuple<MusicalWork, string>> Author2MusicalWorkParsed
{
get
{
...
}
}
}
}
Спасибо коллегам! Благодаря только им можно потратить полчаса времени на розыск коммита в котором пропал метод Author2MusicalWorkParsed и выяснения причин того, почему же он пропал...
Видимо комментарии в начале файла недостаточно "жирные".
+3
public class Logger
{
public static string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log.log");
public static void Write(string message)
{
using (var sw = File.AppendText(filePath))
{
sw.WriteLine(DateTime.Now);
sw.WriteLine(message);
sw.WriteLine();
sw.Flush();
}
}
public static void Write(Exception exception)
{
using (var sw = File.AppendText(filePath))
{
sw.WriteLine(DateTime.Now);
sw.WriteLine("ERROR:");
sw.WriteLine(exception.Message);
sw.WriteLine(exception.StackTrace);
sw.WriteLine();
sw.Flush();
}
}
}
Нафига готовые решения? Вот - образец велосипедостроения! (И, тссс! Не вздумайте использовать его в многопоточной среде ;) А именно там он и используется по факту :) )
PS угадайте какой фортель выкинет сеё чудо при race condition
−11
if (trackFileInfo != null)
{
string formattedName = string.Format("{0) - {1}{2}", index++, trackTitle.Tidy().Translite(), trackFileInfo.Extension);
if (formattedName.Length > 128)
formattedName = formattedName.Substring(0, 128) + "... " + trackFileInfo.Extension;
...
Найдите причину FormatException ;)
+7
public bool IsInRange(string ip, string cidrMask)
{
string[] parts = cidrMask.Split('/');
int iIp = IPAddress.Parse(parts[0].Trim()).GetHashCode();
int iCidr = IPAddress.Parse(ip.Trim()).GetHashCode();
int iCidrMask = IPAddress.HostToNetworkOrder(-1 << (32 - int.Parse(parts[1].Trim())));
return ((iIp & iCidrMask) == (iCidr & iCidrMask));
}
Финт ушами - превращение IPv4 в Int32 через вызов GetHashCode
+142
private static string AddStr(string s1, string s2)
{
string result;
if (s1 == string.Empty)
{
result = s2;
}
else
{
if (s2 == string.Empty)
{
result = s1;
}
else
{
result = s1 + " " + s2;
}
}
return result;
}
Код - бессмысленный и беспощадный
−121
SELECT ISNULL(SUM(1), 0)
FROM Stat_DailySnapshotPurchases
WHERE 1=1
AND ForDate BETWEEN '2012-08-01' AND '2012-09-14'
AND ItemType = 4
Оригинальный способ подсчета количества строк