- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
class Program
{
static int x = 0;
static int f()
{
x = x + 10;
return 1;
}
public static void Main()
{
x += f();
System.Console.WriteLine(x);
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+121
class Program
{
static int x = 0;
static int f()
{
x = x + 10;
return 1;
}
public static void Main()
{
x += f();
System.Console.WriteLine(x);
}
}
Следите за руками! Чему же в итоге равно x?
Проверить себя: http://ideone.com/v8rktM
Источник: http://blogs.msdn.com/b/oldnewthing/archive/2014/08/14/10549885.aspx
+70
public void testTranlateScript() throws Exception {
// Инициализируем бесконечный цикл переводов. Должен переводить пока не
// кончатся тексты, ну или пока не зависнет. Потом кинет Exception.
int i = 1;
while (true) {
int j = 1;
// Фильтруем по непереведенному на какой-то язык и нажимаем первую
// ссылку "Перевести". Нужно указывать алиас языка на который
// переводим в фильтре.
driver.findElement(By.id("content_filter_header")).click();
System.out.println(i
+ "."
+ j
+ " "
+ "начинаем настройку фильтра "
+ driver.findElement(By.id("content_filter_header"))
.toString());
j++;
new Select(driver.findElement(By.id("filter-lang-type")))
.selectByVisibleText("Не переведено на язык(и)");
driver.findElement(By.id("filter-lang-alias-en")).click();
System.out.println(i
+ "."
+ j
+ " "
+ "заканчиваем настройку фильтра "
+ driver.findElement(By.id("filter-lang-alias-en"))
.toString());
j++;
driver.findElement(By.name("btn_filter")).click();
System.out.println(i + "." + j + " "
+ "нажимаем на кнопку Применить "
+ driver.findElement(By.name("btn_filter")).toString());
j++;
driver.findElements(By.linkText("Перевести")).get(0).click();
System.out.println(i
+ "."
+ j
+ " "
+ "нажимаем на первую ссылку Перевести "
+ driver.findElements(By.linkText("Перевести")).get(0)
.toString());
j++;
// Ищем оригинальный текст и присваеваем его переменной
for (int second = 0;; second++) {
if (second >= 60)
fail("timeout");
try {
if (isElementPresent(By.id("original-text")))
break;
} catch (Exception e) {
}
Thread.sleep(1000);
}
// driver.findElement(By.id("original-text")).isDisplayed();
String text_to_translate = driver.findElement(
By.id("original-text")).getText();
System.out.println(i + "." + j + " " + "текст получен: '"
+ text_to_translate + "' "
+ driver.findElement(By.id("original-text")).toString());
j++;
if ((text_to_translate == null) || (text_to_translate.equals(""))) {
System.out.println(i + "." + j + " "
+ "Выход по break (пустой текст):"+ "'" + text_to_translate + "'");
j++;
break;
}
// Вот это по идее должно не допускать, пустые стринги в тех
// случаях, если не сработал локатор.
// Идем в гугл и переводим текст из переменной. Тут нужно
// указывать
// алиасы языков с которого и на который переводим.
driver.get("https://translate.google.com/#ru/en/"
+ text_to_translate);
// Ждем элемент с переведенным текстом и присваиваем его новой
// переменной.
driver.findElement(By.id("source")).isDisplayed();
String text_translated = driver.findElement(By.id("result_box"))
.getText();
// Возвращаемся на сайт и снова точно также фильтруем.
driver.get(baseUrl + "/admin/translate");
driver.findElement(By.id("content_filter_header")).click();
System.out.println(i
+ "."
+ j
+ " "
+ "снова начинаем настройку фильтра "
+ driver.findElement(By.id("content_filter_header"))
.toString());
j++;
new Select(driver.findElement(By.id("filter-lang-type")))
.selectByVisibleText("Не переведено на язык(и)");
driver.findElement(By.id("filter-lang-alias-en")).click();
System.out.println(i
+ "."
+ j
+ " "
+ "снова заканчиваем настройку фильтра "
+ driver.findElement(By.id("filter-lang-alias-en"))
http://pastebin.com/hQdwHepm
+134
for (var i = 0; i < numberPhone.Length; i++)
{
if (numberPhone[i] == ',')
return resultPhone;
if (Char.IsNumber(numberPhone[i]))
{
resultPhone += numberPhone[i];
}
}
return resultPhone;
+154
private function generate_accomodations_array($adults, $children, $ages) {
$result = array();
foreach($adults as $adult) {
foreach($children as $child) {
$param = array();
if($child > 0) {
for($age1=0; $age1<count($ages); $age1++) {
if($child > 1) {
for($age2=$age1; $age2<count($ages); $age2++) {
$param = array($ages[$age1], $ages[$age2]);
$result[] = $this->generate_accomodations_row($adult, $child, $param);
}
} else {
$param = array($ages[$age1]);
$result[] = $this->generate_accomodations_row($adult, $child, $param);
}
}
} else {
$result[] = $this->generate_accomodations_row($adult, $child, $param);
}
}
}
return $result;
}
private function generate_accomodations_row($adult = null, $child = null, $ages = null) {
$result = array();
if(!is_null($adult)) {
$res_adult = array('adult' => $adult);
$result = array_merge($result, $res_adult);
}
if(!is_null($child)) {
$res_child = array('child' => $child);
$result = array_merge($result, $res_child);
}
if(!is_null($ages)) {
$res_ages = array();
$i = 1;
foreach($ages as $age) {
$res_ages = array_merge(array('child-age'.$i++ => $age), $res_ages);
}
$result = array_merge($result, $res_ages);
}
if(!is_null($adult)) {
for($i=0;$i<$adult;$i++) {
$result['pegas_ages'][] = $this->adult_age;
}
}
if(!is_null($ages)) {
$result['pegas_ages'] = array_merge($result['pegas_ages'], $ages);
}
return $result;
}
−88
class DataModel(dict):
_SCHEME_VERSION = 0
_transform = dict()
_additional = dict()
_migration = None
def __init__(self, data=None, network=None, conf=None):
if network and conf:
_scheme = map(lambda x: x.strip(), conf.get(network).keys())
_map = map(lambda x: x.strip(), conf.get(network).values())
self._scheme = int(conf._scheme)
map(lambda x: setattr(self, x[0], data.get(x[1], None)),
[(_scheme[i], _map[i]) for i in xrange(0,len(_map))])
if self._transform.get(network, False):
map(lambda x: setattr(self, x, getattr(self._transform[network], x)(getattr(self, x))),
[k for k in self._transform[network].__dict__.keys() if not k.startswith('__')])
else:
dict.__init__(self, data)
if self.get('_scheme', 0)<self._SCHEME_VERSION and self._migration is not None:
k = [int(k.split('_')[1]) for k in self._migration.__dict__.keys() if not k.startswith('__')]
k.sort()
[k.remove(x) for x in k if x<=self.get('_scheme', 0)]
map(lambda x: getattr(self._migration, 'scheme_%s' % x)(self), k)
self._scheme = self._SCHEME_VERSION
map(lambda x: setattr(self, x, getattr(self._additional, x)(self)),
[k for k in self._additional.__dict__.keys() if not k.startswith('__')])
def __setattr__(self, name, val):
if name in self.__dict__:
self.__dict__[name]= val
else:
self[name] = val
def __getattr__(self, name):
if name in self.__dict__:
return self.__dict__[name]
else:
return self[name]
Mongo migration, written in Python, for human beings.
+159
foreach ($val as $k => $v)
{
if (!is_array($v))
{
$val[$k] = htmlspecialcharsbx($v);
}
else
{
foreach ($v as $kp => $vp)
{
foreach ($vp as $kkp => $vvp)
{
if (!is_array($vvp))
{
$val[$k][$kp][$kkp] = htmlspecialcharsbx($vvp);
}
else
{
foreach ($vvp as $kvvp => $vvvp)
{
$val[$k][$kp][$kkp][$kvvp] = htmlspecialcharsbx($vvvp);
}
}
}
}
}
}
−163
Если ЗначениеЗаполнено(Сделка) И ЛЕВ(Сделка.Ссылка, 10) = "Заказ пост" Тогда
//другой говнокод
КонецЕсли;
Правильная проверка типов
+149
(function(G, U) {
"use strict";
var $ = G.jQuery,
string = "string",
number = "number",
bool = "boolean",
object = "object";
function hasStr(obj, prop) {
return obj.hasOwnProperty(prop) && typeof obj[prop] === string;
}
function hasNum(obj, prop) {
return obj.hasOwnProperty(prop) && typeof obj[prop] === number;
}
function hasArr(obj, prop) {
return obj.hasOwnProperty(prop) && $.isArray(obj[prop]);
}
function hasFn(obj, prop) {
return obj.hasOwnProperty(prop) && $.isFunction(obj[prop]);
}
function hasBool(obj, prop) {
return obj.hasOwnProperty(prop) && typeof obj[prop] === bool;
}
function copyProps(source, target, fields) {
var i,
count,
fieldType,
fieldTypes = {
str : hasStr,
bool: hasBool,
arr : hasArr,
fn : hasFn,
num : hasNum
};
if (arguments.length < 2){
return;
}
if (arguments.length === 2){
target = {};
}
if ($.isPlainObject(source) && $.isPlainObject(target) && $.isPlainObject(fields)) {
for (fieldType in fieldTypes) {
if (fieldTypes.hasOwnProperty(fieldType)) {
if (hasArr(fields, fieldType)) {
for (i = 0, count = fields[fieldType].length; i < count; i += 1) {
if (fieldTypes[fieldType](source, fields[fieldType][i])) {
target[fields[fieldType][i]] = source[fields[fieldType][i]];
}
}
}
}
}
}
return target;
}
G.copyProps = copyProps; //Export into global namespace
}(this, undefined));
Здравствуйте! Написал функцию, которая безопасно копирует свойства из одного объекта в другой, выполняя проверку типа каждого копируемого поля. Скажите, какие недостатки и насколько оправдано её применение по сравнению со стандартной функцией jQuery extend()? Работает только с простыми объектами, для вложенных объектов нужно ещё раз вызывать эту функцию.
+133
var status = true;
var name = aspnet_UsersRepository.FindAll().FirstOrDefault(u => u.aspnet_Membership.Email.Equals(model.Email, StringComparison.InvariantCultureIgnoreCase));
if (name != null) { return View("Error_user"); }
/*13.08.2014 EmirMamashovCode{} нахождение сущ. ли такой агент*/
var usersBalanses = UserBalancesRepository.FindAll().ToList();
/* если заполнено код агента и имя агента */
if (model.KodAgent != null && model.NameAgent != null)
{
foreach (var usersBalanse in usersBalanses)
{
if (model.KodAgent == usersBalanse.KodforPay)
{
status = true;
}
else{status = false;}
}
if (status == false)
{
return View("Error_notFoundAgent");
}
}
нахождение сущ. ли такой агент
+57
bool Processor::check_holes(int x, int y){
int scale = 1000000;
if((x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
return false;
}
if((x > (die_size-mem_size)*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
if(((int)(x - (die_size-mem_size)*scale) % 400) > 340 && ((int)(y - (die_size-mem_size)/2*scale) % 400) > 340){
if((x - (die_size-mem_size)*scale) < 2400){
return true;
}
}
}
if((x < (die_size-mem_size)/2*scale) && (y > (die_size-mem_size)/2*scale && y < (die_size-mem_size)*scale)){
if(((int)((die_size-mem_size)/2*scale - x) % 400) > 340 && ((int)(y - (die_size-mem_size)/2*scale) % 400) > 340){
if(((die_size-mem_size)/2*scale - x) < 2400){
return true;
}
}
}
if((y > (die_size-mem_size)*scale) && (x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale)){
if(((int)(y - (die_size-mem_size)*scale) % 400) > 340 && ((int)(x - (die_size-mem_size)/2*scale) % 400) > 340){
if((y - (die_size-mem_size)*scale) < 2400){
return true;
}
}
}
if((y < (die_size-mem_size)/2*scale) && (x > (die_size-mem_size)/2*scale && x < (die_size-mem_size)*scale)){
if(((int)((die_size-mem_size)/2*scale - y) % 400) > 340 && ((int)(x - (die_size-mem_size)/2*scale) % 400) > 340){
if(((die_size-mem_size)/2*scale - y) < 2400){
return true;
}
}
}
return false;
}
Проверяем дырки