- 1
'used strict'
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1001
'used strict'
Уже "попользовался" strict
Оригинал: https://github.com/tischenkoa/portfolio-front-end-javascript/blob/master/24_task_(Ajax_loading_comics)/loadimg.js#L4
−85
local sol_lines = {}
local i = 1; local j = 0;
while (i <= solution:len()) do
local begin_pos = i
while(i <= solution:len() and solution:sub(i, i) ~= '\n') do
i = i + 1
end
if i > solution:len() then
i = solution:len()
end
local cur_line = solution:sub(begin_pos, i)
sol_lines[j] = trim(cur_line)
i = i + 1
j = j + 1
end
Lua
Как я разбивал строку на отдельные линии. Вместо того, чтобы использовать string.find(s, "\n", i + 1). Так я писал код 0.027397 года назад назад.
+144
$testing[$i]['ddate'] = ((substr("$departureDate", 0, -4)) . "/" . (substr("$departureDate", -4, 2)) . "/" . (substr("$departureDate", -2))) . "(" . ((substr("$departureTime", 0, -2)) . ":" . (substr("$departureTime", -2))) . ")";
$testing[$i]['adate'] = ((substr("$arrivalDate", 0, -4)) . "/" . (substr("$arrivalDate", -4, 2)) . "/" . (substr("$arrivalDate", -2))) . "(" . ((substr("$arrivalTime", 0, -2)) . ":" . (substr("$arrivalTime", -2))) . ")";
из реального проекта, который писал индус.
форматирование даты. это все еще и в цикле
+143
class Security{
private $workFactor, $salt;
public function __construct(){
$this->setWorkFactor();
$salt = $this->getSaltBytes();
$this->setSalt($salt);
}
public function hash($password, $workFactor = 6){
$options = [
'cost' => (int)$workFactor,
'salt' => $this->getSalt()
];
$hash = password_hash($password, PASSWORD_BCRYPT, $options);
return $hash;
}
public function checkHash($password, $passwordHash, $options = []){
if( isset($options['salt'])){
$this->setSalt($options['salt']);
}
$workFactor = isset($options['workFactor']) ?
$options['workFactor'] : $this->getWorkFactor();
return $passwordHash === $this->hash($password, $workFactor);
}
public function isLegacyHash($passwordHash){
return strlen($passwordHash) === 60;
}
public function getSalt(){
return $this->salt;
}
public function setSalt($salt){
$this->salt = $salt;
}
public function getSaltBytes($lenght = 24){
return $this->getRandomBytes($lenght);
}
public function getRandomBytes($lenght = 24){
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $lenght; $i++){
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
public function setWorkFactor($workFactor = 6){
$this->workFactor = (int)$workFactor;
}
public function getWorkFactor(){
return $this->workFactor;
}
}
+96
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
var hWndSource = (HwndSource)PresentationSource.FromVisual(this);
Handle = hWndSource.Handle;
hWndSource.AddHook(WndProc);
}
private const int WM_ACTIVATE = 0x0006;
private const ushort WA_INACTIVE = 0;
static ushort LOWORD(IntPtr I)
{
unchecked
{
return (ushort)(((uint)I) & 0xFFFF);
}
}
protected IntPtr WndProc(IntPtr hWnd, int iMsg, IntPtr wParam, IntPtr lParam, ref bool bHandled)
{
switch (iMsg)
{
case WM_ACTIVATE:
Opacity = LOWORD(wParam) == WA_INACTIVE ? 0.4 : 1.0;
bHandled = true;
return (IntPtr)1;
}
return IntPtr.Zero;
}
Из моего проекта. Так я писал код 0.8 год назад.
Вместо того, чтобы использовать OnActivated и OnDeactivated.
+123
KoKoKoKoKoKoKoKoKoKo Kud-Kudah KoKoKoKoKoKoKoKo kudah kO kud-Kudah Kukarek
kudah KoKoKo Kud-Kudah kOkOkOkO kudah kO kud-Kudah Ko Kukarek
kudah KoKoKoKo Kud-Kudah KoKoKoKo kudah kO kud-Kudah kO Kukarek
kOkOkOkOkO Kukarek Kukarek
kOkOkOkOkOkOkO Kukarek
Публикации уже два дня, а на говнокоде ни одного упоминания. Ну как так?
https://github.com/Ky6uk/PETOOH
http://habrahabr.ru/post/245443/
−121
#!/usr/bin/env python
# encoding: utf-8
import os
import sys
from sets import Set
class OutputSplitter(object):
""" splitter """
def __init__(self, out_splitter):
self.__pipes=None
if isinstance(out_splitter, OutputSplitter):
self.__pipes = Set(out_splitter.pipes)
elif out_splitter:
print out_splitter
if type(out_splitter) == list : #
for pn in out_splitter:
self.add_pipe(pn)
else:
self.add_pipe(out_splitter)
@property
def pipes(self):
return self.__pipes
def add_pipe(self, pn):
if isinstance(pn, basestring):
if pn == 'stderr': x = sys.stderr
elif pn == 'stdout': x = sys.stdout
else:
p = os.path.dirname(pn)
if p and not os.path.exists(p):
os.makedirs(p)
try:
x = open(pn,'w+')
except IOError:
raise
else: x = pn
if hasattr(x, 'write') and hasattr(x, 'flush'):
if self.__pipes is None:
self.__pipes=Set()
self.__pipes.add(x)
def write(self,s):
if self.__pipes:
for p in self.__pipes:
p.write(s)
def flush(self):
if self.__pipes:
for p in self.__pipes:
p.flush()
#def __enter__(self):
# pass
#def __exit__(self, exc_type, exc_value, traceback):
# pass
if __name__ == '__main__':
cout=sys.stdout if True else sys.stderr
o=OutputSplitter(cout)
pass
Испаравленная версия по монивам http://govnokod.ru/17181. Учтены замечания некого Анонимус http://govnokod.ru/17181#comment256577. Надеюсь что будут еще замечания, такие же конструктивные и полезные.
+49
for (int i = 0; i <= 10000; i++)
{
if (a[i]=='a')
a[i] == "000";
continue;
}
Цикл, который в строке a меняет все символы 'a' на три ноля. Говнолабка одногруппницы.
+57
float factor = ((float)sizeof(char) / sizeof(wchar_t));
fileSize = (long)((float)fileSize * factor);
вот так выглядит деление на sizeof(wchar_t) :)
+161
var list = [ ];
// hidden elements
list[ NaN ] = 'this-element-always-is-last'; // max index
list[ Number.MAX_VALUE ] = 'this-is-smallest';
list[ Infinity ] = 'this-just-infinity';
// list.length == 0; // true
Делать нечего в селе, мы сидим навеселе. Всех с пятницей!