- 1
- 2
(format t "~{~[~:R~; ~S~:;none~] chance~^, ~}" '(0 1 0 2 0 3))
;; first chance, second chance, third chance
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+123
(format t "~{~[~:R~; ~S~:;none~] chance~^, ~}" '(0 1 0 2 0 3))
;; first chance, second chance, third chance
Любителям ДСЛ (а так же древесно-стружечных плит, и других керамических изделий):
Объясните почему так работает? Наверное не говнокод, просто нихрена не понятно.
+81
#include "stdafx.h"
#include "windows.h"
#include "iostream"
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#define прога_однако int _tmain(int argc, _TCHAR* argv[])
#define начнемс {
#define пора_заканчивать_однако }
#define возврощать_однако return
#define закончим_однако ;
#define ноль_однако 0
#define неделимое int
#define делимое float
#define логика_однако bool
#define символ char
#define поспать_однако system("pause")
#define откроем (
#define закроем )
#define туда >>
#define сюда <<
#define воспрошать_у_Юзверя_окаянного std::cin
#define сказать_Юзверю_окаянному std::cout
#define если if
#define иначе else
#define цикл_фор for
#define цикл_пока while
#define пойдем_туда goto
#define выбрать_из switch
#define вариант case
#define прервать break
#define размер sizeof
#define ложь false
#define истина true
#define по_умолчанию default
#define больше >
#define меньше <
#define больше_равно >=
#define меньше_равно <=
#define равно ==
#define прировнять =
#define не_равно !=
//-----------------------------------------------------
неделимое Места[3][3] закончим_однако
символ клавиша_меню закончим_однако
символ клавиша закончим_однако
логика_однако ход закончим_однако
неделимое последний_выиграш прировнять 0 закончим_однако
//-----------------------------------------------------
неделимое обновить_однако откроем закроем
начнемс
логика_однако Буфер[34][34] закончим_однако
неделимое i,j закончим_однако
цикл_фор откроем i прировнять 0 закончим_однако i меньше 34 закончим_однако i++ закроем // Стенки начало
начнемс
Буфер[i][0] прировнять 1 закончим_однако
Буфер[i][33] прировнять 1 закончим_однако
Буфер[0][i] прировнять 1 закончим_однако
Буфер[33][i] прировнять 1 закончим_однако
Буфер[11][i] прировнять 1 закончим_однако
Буфер[22][i] прировнять 1 закончим_однако
Буфер[i][11] прировнять 1 закончим_однако
Буфер[i][22] прировнять 1 закончим_однако
пора_заканчивать_однако // Стенки конец
//*****************************
цикл_фор откроем j прировнять 0 закончим_однако j меньше 3 закончим_однако j++ закроем
начнемс
цикл_фор откроем i прировнять 0 закончим_однако i меньше 3 закончим_однако i++ закроем
начнемс
выбрать_из откроем Места[i][j] закроем // Рисуем крестики и нолики
начнемс
неделимое a закончим_однако
вариант 1://1- Крестик
цикл_фор откроем a прировнять 2 закончим_однако a меньше_равно 9 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[ откроем i*11 закроем +11-a][ откроем j*11 закроем +a] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 2://2-Нолик
цикл_фор откроем a прировнять 3 закончим_однако a меньше_равно 8 закончим_однако a++ закроем
начнемс
Буфер[a+i*11][2+j*11] прировнять 1 закончим_однако
Буфер[a+i*11][9+j*11] прировнять 1 закончим_однако
Буфер[2+i*11][a+j*11] прировнять 1 закончим_однако
Буфер[9+i*11][a+j*11] прировнять 1 закончим_однако
пора_заканчивать_однако
прервать закончим_однако
вариант 0://0- Пустая клетка
//------------------
прервать закончим_однако
пора_заканчивать_однако
пора_заканчивать_однако
пора_заканчивать_однако
//*****************************
SetConsoleTextAttribute откроем GetStdHandle откроем STD_OUTPUT_HANDLE закроем , FOREGROUND_GREEN закроем закончим_однако
цикл_фор откроем j прировнять 0 закончим_однако j меньше 34 закончим_однако j++ закроем // Отрисовка массива начало
Крестики- нолики
Полный код http://paste.org.ru/?f9hw0h
+156
getControlValues : function(isSimpleValue){
return this._getControlData(function(tab){
return tab.getControlValues(isSimpleValue);
});
}
Образец "самодокументируемого кода"
Маленький метод, но как много в нем загадок.
+47
private function getLastDate($year, $month)
{
$next_year = $year;
$next_month = $month + 1;
if ($next_month == 13) {
$next_month = 1;
$next_year++;
}
$next_time = mktime(0, 0, 0, $next_month, 1, intval($next_year));
$lastdate = strtotime('-1 day', $next_time);
$last_day = date('d', $lastdate);
return $last_day;
}
date('t', strtotime("$year-$month-01"));
+33
class Chatter : public QListBoxItem {
[...]
private:
static ChatterRef *chatters[MAX_NUM_CHATTERS];
[...]
friend int main(int, char *argv[]); // to destroy chatters[]
};
Сам проект: http://www.qtchat.org/qtchat/
Пример дается в этой книге: http://books.google.ru/books?id=8lYbNfsAVT4C&dq=qtchat&source=g bs_navlinks_s как пример friend-функций
+137
private string ExtractNodeValue(string text, string nodeName)
{
string result = string.Empty;
int slength = ("<" + nodeName + ">").Length;
int sindex = text.IndexOf("<" + nodeName + ">");
int eindex = text.IndexOf("</" + nodeName + ">");
if (sindex > 0 && eindex > 0)
result = text.Substring(sindex + slength, eindex - sindex - slength);
return result;
}
string request = string.Format("http://maps.google.com/maps/geo?ll={0},{1}&hl=en&output=xml&key=abcdefg", location.latitude, location.longitude);
Logger.Log(request);
HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(request);
WebResponse responce = httprequest.GetResponse();
Stream str = responce.GetResponseStream();
XmlTextReader reader = new XmlTextReader(str);
reader.XmlResolver = null;
XmlDocument doc = new XmlDocument();
doc.Load(reader);
str.Close();
reader.Close();
XmlNodeList listResponse = doc.ChildNodes[1].ChildNodes[0].ChildNodes;
foreach (XmlNode nodePlace in listResponse)
{
if (nodePlace.Name == "Placemark")
{
string text = nodePlace.InnerXml;
string Country = ExtractNodeValue(text, "CountryName");
if ((this.DataContext.Countries.Count(x => x.Name == location.countryName) == 0 || string.IsNullOrWhiteSpace(location.countryName)) &&
!string.IsNullOrWhiteSpace(Country))
{
location.countryName = Country;
}
string Region = ExtractNodeValue(text, "AdministrativeAreaName");
if (this.DataContext.States.Count(x => x.AlphaCode == location.region || x.Name == location.region) == 0 &&
!string.IsNullOrWhiteSpace(Region))
{
location.region = Region;
}
string City = ExtractNodeValue(text, "LocalityName");
if (this.DataContext.Cities.Count(x => x.Name == location.city) == 0 &&
!string.IsNullOrWhiteSpace(City))
{
location.city = City;
}
break;
}
}
отличный парсиг xml.
+154
if((typeof folder!='undefined')&&folder!='untag'){
if((typeof cache[type].files[folder]!='undefined')&&caches){
pagination.create(cache[type].files[folder].count, false, cache[type].files[folder]);
show.loading(false);
return;
}
var params = {
'tag':folder
};
}
Вот глянул свой код полугодовалой давности, нужно было добавить пару фич. Охренел, 3 тысячи строк подобного вида и не одного комментария. Я себя ненавижу
+153
// Очистка полей формы
function clearForm(formName) {
//var ff = document.getElementById(formName);
var ff = document.forms[formName];
for (var i=0; i<ff.elements.length; i++) {
if (ff.elements[i].type == "text") ff.elements[i].value="";
if (ff.elements[i].type == "select-one") ff.elements[i].value="";
if (ff.elements[i].type == "checkbox") ff.elements[i].checked=false;
if (ff.elements[i].type == "radio") {
ff.elements[i].value="0";
ff.elements[i].checked=false;
}
}
}
Действительно, зачем this.form.reset() использовать?
+140
$i = 0; // Счетчик
+35
assert( -(PHP_INT_MAX + 1) === -PHP_INT_MAX - 1 );
assert( -(PHP_INT_MAX + 2) === -PHP_INT_MAX - 2 );