Programistyczne WTF jakie Was spotkały

Programistyczne WTF jakie Was spotkały
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 14 godzin
0
Kopiuj
(==) Using config file: "/etc/X11/xorg.conf"
(EE) Failed to load module "vmwgfx" (module does not exist, 0)
(EE) vmware: Please ignore the above warnings about not being able to to load module/driver vmwgfx
0
Kopiuj
if (User::$id == User::ANONYMOUS)
{
	throw new Error(500, 'Edycja komentarzy możliwa jest przez zalogowanych użytkowników!');
	//               /\ internal server error
}

//...

if (isset($this->post->notify) && !$watch->isWatched($pageId, $moduleId, $pluginId))
{
	$watch->watch($pageId, $moduleId, $pluginId);
}
elseif (!isset($this->post->notify) && $watch->isWatched($pageId, $moduleId, $pluginId))
{
	$watch->watch($pageId, $moduleId, $pluginId); /** czyli jak wykonać 2 zapytania po to, żeby ustawić X - dop. jebany stasio **/
}  

//...

$parser->setOption('html.allowTags', array('b', 'i', 'u', 'del', 'hr', 'sup', 'sub', 'code', 'kbd', 'tt', 'pre', 'strong', 'a'));
// jezeli html jest wylaczony - nalezy ustawic to w konfiguracji parsera
if ($enableHtml == 0)
{
	$parser->setOption('html.allowTags', array(''));
}

//...

$enableAnonymous = $this->module->$module('commentEnableAnonymous', $pageId);
$enableHtml = $this->module->$module('commentEnableHtml', $pageId);

if ($enableAnonymous == 2) /** MAGIC NUMBERS!!! - dop. jebany stasio **/
{
	throw new Exception('Pisanie komentarzy zostało wyłączone!');
}
if (User::$id == User::ANONYMOUS)
{
	if ($enableAnonymous == 0)
	{
		throw new Exception('Aby napisać komentarz, musisz się zalogować!');
	}
}  
0
Kopiuj
/**
 * @todo Poprawienie zabezpieczenia -- tutaj powinno sie wykonywac zapytanie
 * SQL sprawdzajace po IP ostatni czas napisania komentarza
 */
if ((time() - $this->session->flood) < 5)
{
   throw new Exception('Proszę poczekać pare sekund przed napisaniem kolejnego komentarza');
}
Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 4 godziny
0

/** czyli jak wykonać 2 zapytania po to, żeby ustawić X - dop. jebany stasio **/
???
isWatched będzie wykonany co najwyżej raz, chociaż ja bym tam i tak wstawił XORa :)


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit
0

Ze źródeł serwera OpenTibia:

Kopiuj
                                case ID_MENU_GAME_RELOAD_RELOADALL:
                                         if(g_game.getGameState() != GAME_STATE_STARTUP)
                                         {
                                                 if(g_monsters.reload())
                                                 {
                                                         if(commands.reload())
                                                         {
                                                                 if(Quests::getInstance()->reload())
                                                                 {
                                                                         if(g_game.reloadHighscores())
                                                                         {
                                                                                 if(g_config.reload())
                                                                                 {
                                                                                         if(g_actions->reload())
                                                                                         {
                                                                                                 if(g_moveEvents->reload())
                                                                                                 {
                                                                                                         if(g_talkActions->reload())
                                                                                                         {
                                                                                                                 if(g_spells->reload())
                                                                                                                 {
                                                                                                                         if(g_creatureEvents->reload())
                                                                                                                         {
                                                                                                                                 if(Raids::getInstance()->reload() && Raids::getInstance()->startup())
                                                                                                                                 {
                                                                                                                                         g_npcs.reload();
                                                                                                                                         std::cout << "Reloaded all." << std::endl;
                                                                                                                                 }
                                                                                                                                 else
                                                                                                                                         std::cout << "Failed to reload raids." << std::endl;
                                                                                                                         }
                                                                                                                         else
                                                                                                                                 std::cout << "Failed to reload creature events." << std::endl;
                                                                                                                 }
                                                                                                                 else
                                                                                                                         std::cout << "Failed to reload spells." << std::endl;
                                                                                                         }
                                                                                                         else
                                                                                                                 std::cout << "Failed to reload talkactions." << std::endl;
                                                                                                 }
                                                                                                 else
                                                                                                         std::cout << "Failed to reload movements." << std::endl;
                                                                                         }
                                                                                         else
                                                                                                 std::cout << "Failed to reload actions." << std::endl;
                                                                                 }
                                                                                 else
                                                                                         std::cout << "Failed to reload config." << std::endl;
                                                                         }
                                                                         else
                                                                                 std::cout << "Failed to reload highscores." << std::endl;
                                                                 }
                                                                 else
                                                                         std::cout << "Failed to reload quests." << std::endl;
                                                         }
                                                         else
                                                                 std::cout << "Failed to reload commands." << std::endl;
                                                 }
                                                 else
                                                         std::cout << "Failed to reload monsters." << std::endl;
                                         }
                                         break;

Bo wyjątki zachowuje się na wyjątkowe sytuacje. Na co komu logger skoro jest cout?

edytowany 1x, ostatnio: ŁF
Wibowit
Ale + się należy za poprawne formatowanie :P
0
Wibowit napisał(a)

/** czyli jak wykonać 2 zapytania po to, żeby ustawić X - dop. jebany stasio **/
???
isWatched będzie wykonany co najwyżej raz, chociaż ja bym tam i tak wstawił XORa :)

XOR zly bo dla 'isset and !iswatched' zwroci rowniez true, co jest wynikiem nie wspieranym przez obecny kod.

No i masz racje, nie zauwazylem pierwszego ifa ;d
Tosz to WTF.

0

Z pewnego frameworka webowego na New BSD:

Kopiuj
					if (!in_array(count($ip), array(0, 4, 8, 12)))
					{
						$count = count($ip);

						while (--$count % 4 == 0)
						{
							if ($count % 4 == 0)
							{
								$ip = array_slice($ip, 0, $count);
							}
						}
					}

Z tym while i $count to ktoś chyba popił i poczuł się "hackerem".

Kopiuj
	public static function transformUrl($text, $limit = false)
	{
		$limit = (int) $limit;
	...
}
Kopiuj
Bo grunt to dynamiczne typowanie.
msm
Administrator
  • Rejestracja:prawie 16 lat
  • Ostatnio:4 miesiące
0

Parę hacków z .net frameworka znalezionych reflectorem :) Wszystkie metody pochodzą z klasy Internal (to zresztą wszystkie jej metody).

Kopiuj
private static void CommonlyUsedGenericInstantiations_HACK()
{
	Array.Sort<double>(null);
	Array.Sort<int>(null);
	Array.Sort<IntPtr>(null);
	new ArraySegment<byte>(new byte[1], 0, 0);
	new Dictionary<char, object>();
	new Dictionary<Guid, byte>();
	new Dictionary<Guid, object>();
	new Dictionary<Guid, Guid>();
	new Dictionary<short, IntPtr>();
	new Dictionary<int, byte>();
	new Dictionary<int, int>();
	new Dictionary<int, object>();
	new Dictionary<IntPtr, bool>();
	new Dictionary<IntPtr, short>();
	new Dictionary<object, bool>();
	new Dictionary<object, char>();
	new Dictionary<object, Guid>();
	new Dictionary<object, int>();
	new Dictionary<object, long>();
	new Dictionary<uint, WeakReference>();
	new Dictionary<object, uint>();
	new Dictionary<uint, object>();
	new Dictionary<long, object>();
	new Dictionary<MemberTypes, object>();
	new EnumEqualityComparer<MemberTypes>();
	new Dictionary<object, KeyValuePair<object, object>>();
	new Dictionary<KeyValuePair<object, object>, object>();
	Internal.NullableHelper_HACK<bool>();
	Internal.NullableHelper_HACK<byte>();
	Internal.NullableHelper_HACK<char>();
	Internal.NullableHelper_HACK<DateTime>();
	Internal.NullableHelper_HACK<decimal>();
	Internal.NullableHelper_HACK<double>();
	Internal.NullableHelper_HACK<Guid>();
	Internal.NullableHelper_HACK<short>();
	Internal.NullableHelper_HACK<int>();
	Internal.NullableHelper_HACK<long>();
	Internal.NullableHelper_HACK<float>();
	Internal.NullableHelper_HACK<TimeSpan>();
	Internal.NullableHelper_HACK<DateTimeOffset>();
	new List<bool>();
	new List<byte>();
	new List<char>();
	new List<DateTime>();
	new List<decimal>();
	new List<double>();
	new List<Guid>();
	new List<short>();
	new List<int>();
	new List<long>();
	new List<TimeSpan>();
	new List<sbyte>();
	new List<float>();
	new List<ushort>();
	new List<uint>();
	new List<ulong>();
	new List<IntPtr>();
	new List<KeyValuePair<object, object>>();
	new List<GCHandle>();
	new List<DateTimeOffset>();
	RuntimeType.RuntimeTypeCache.Prejitinit_HACK();
	new CerArrayList<RuntimeMethodInfo>(0);
	new CerArrayList<RuntimeConstructorInfo>(0);
	new CerArrayList<RuntimePropertyInfo>(0);
	new CerArrayList<RuntimeEventInfo>(0);
	new CerArrayList<RuntimeFieldInfo>(0);
	new CerArrayList<RuntimeType>(0);
	new KeyValuePair<char, ushort>('\0', 0);
	new KeyValuePair<ushort, double>(0, -1.7976931348623157E+308);
	new KeyValuePair<object, int>(string.Empty, -2147483648);
	new KeyValuePair<int, int>(-2147483648, -2147483648);
	Internal.SZArrayHelper_HACK<bool>(null);
	Internal.SZArrayHelper_HACK<byte>(null);
	Internal.SZArrayHelper_HACK<DateTime>(null);
	Internal.SZArrayHelper_HACK<decimal>(null);
	Internal.SZArrayHelper_HACK<double>(null);
	Internal.SZArrayHelper_HACK<Guid>(null);
	Internal.SZArrayHelper_HACK<short>(null);
	Internal.SZArrayHelper_HACK<int>(null);
	Internal.SZArrayHelper_HACK<long>(null);
	Internal.SZArrayHelper_HACK<TimeSpan>(null);
	Internal.SZArrayHelper_HACK<sbyte>(null);
	Internal.SZArrayHelper_HACK<float>(null);
	Internal.SZArrayHelper_HACK<ushort>(null);
	Internal.SZArrayHelper_HACK<uint>(null);
	Internal.SZArrayHelper_HACK<ulong>(null);
	Internal.SZArrayHelper_HACK<DateTimeOffset>(null);
	Internal.SZArrayHelper_HACK<CustomAttributeTypedArgument>(null);
	Internal.SZArrayHelper_HACK<CustomAttributeNamedArgument>(null);
}

Whoa... Podejrzewam że w jakiś sposób jest to optymalizacja, ale nie wiem w jaki (tzn. oczywiście że wygenerowany kod dla List<int> zostaje w pamięci i nie trzeba go już ruszać, tylko dlaczego stworzenie wszystkich na raz, w tym paru zazwyczaj niepotrzebnych, ma zaletę nad tworzeniem wtedy kiedy potrzeba). A może się mylę i ten hack ma jakieś głębsze znaczenie?

Kopiuj
private static T NullableHelper_HACK<T>() where T : struct
{
	Nullable.Compare<T>(null, null);
	Nullable.Equals<T>(null, null);
	T? t = null;
	return t.GetValueOrDefault();
}

Hmm. jakieś sugestie na co to może być hack?

Kopiuj
private static void SZArrayHelper_HACK<T>(SZArrayHelper oSZArrayHelper)
{
	int arg_06_0 = oSZArrayHelper.get_Count<T>();
	T arg_0E_0 = oSZArrayHelper.get_Item<T>(0);
	oSZArrayHelper.GetEnumerator<T>();
}

Kolejna optymalizacja?

Kopiuj
// System.RuntimeType.RuntimeTypeCache
[SecuritySafeCritical]
internal static void Prejitinit_HACK()
{
	if (!RuntimeType.RuntimeTypeCache.s_dontrunhack)
	{
		RuntimeHelpers.PrepareConstrainedRegions();
		try
		{
		}
		finally
		{
			RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeMethodInfo> memberInfoCache = new RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeMethodInfo>(null);
			CerArrayList<RuntimeMethodInfo> cerArrayList = null;
			memberInfoCache.Insert(ref cerArrayList, "dummy", MemberListType.All);
			RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeConstructorInfo> memberInfoCache2 = new RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeConstructorInfo>(null);
			CerArrayList<RuntimeConstructorInfo> cerArrayList2 = null;
			memberInfoCache2.Insert(ref cerArrayList2, "dummy", MemberListType.All);
			RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeFieldInfo> memberInfoCache3 = new RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeFieldInfo>(null);
			CerArrayList<RuntimeFieldInfo> cerArrayList3 = null;
			memberInfoCache3.Insert(ref cerArrayList3, "dummy", MemberListType.All);
			RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeType> memberInfoCache4 = new RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeType>(null);
			CerArrayList<RuntimeType> cerArrayList4 = null;
			memberInfoCache4.Insert(ref cerArrayList4, "dummy", MemberListType.All);
			RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimePropertyInfo> memberInfoCache5 = new RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimePropertyInfo>(null);
			CerArrayList<RuntimePropertyInfo> cerArrayList5 = null;
			memberInfoCache5.Insert(ref cerArrayList5, "dummy", MemberListType.All);
			RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeEventInfo> memberInfoCache6 = new RuntimeType.RuntimeTypeCache.MemberInfoCache<RuntimeEventInfo>(null);
			CerArrayList<RuntimeEventInfo> cerArrayList6 = null;
			memberInfoCache6.Insert(ref cerArrayList6, "dummy", MemberListType.All);
		}
	}
}

I ostatni hack (na cache?). Najfajniej wygląda to try {} finally { /* cały kod */ }, jeszcze czegoś takiego nie widziałem...

O, i jeszcze jedno. Zastanawialiście się kiedyś do czego służy właściwość IsFixedSize w tablicach?

Kopiuj
public bool IsFixedSize
{
	get
	{
		return true;
	}
}
edytowany 1x, ostatnio: msm
Marooned
fajny komentarz powyżej :]
sehanine
niefajnie, że ja nic z tego nie rozumiem :<
MarekR22
wow, faktycznie niesamowite WTF. Mam małe doświadczenie z .net (szczególnie jeśli chodzi o szablony/generics), więc będę zgadywał po co jest to cudo. Możliwe, że chodzi o konkretyzacje szablonów, by wymusić na kompilatorze lub nawet na programie jakieś zachowanie związane z szablonami (wymusić wygenerowanie kodu, meta danych lub innych cudów).
RE
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:11 miesięcy
0

Mi w oficjalnej implementacji .NET podoba się nazwa prywatnego pola klasy Thread: DONT_USE_InternalThread.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Wrocław
0
MSM napisał(a)

O, i jeszcze jedno. Zastanawialiście się kiedyś do czego służy właściwość IsFixedSize w tablicach?

To właściwość z IList określająca, czy do kolekcji można dynamicznie dodawać/usuwać elementy.

0
Kopiuj
Błąd

Zapytanie SQL:

INSERT INTO `symserwis1`.`obrazki` (`id`, `image1`, `image2`, `image3`, `image4`) VALUES (NULL, 0xffd8[...]

MySQL zwrócił komunikat: 
#2006 - MySQL server has gone away 
OO
Bo się chińczyki co te tabelki zapamiętują zmęczyły.
nav
Może po prostu od ostatniego zapytania minęło zbyt dużo czasu (interactive_timeout).
Sarrus
Komunikat jest sensowny, ale i tak jest zabawny :)
0
Kopiuj
class Sort
{
	const ASC = 'ASC';
	const DESC = 'DESC';

	private static $enable = true;
	public static function disable()
	{
		self::$enable = false;
	}
}
several
IMHO to nie jest jakiś specjalny WTF, chociaż lepiej by było zrobić po prostu metodę dostępową.
0
Kopiuj
	public function int($value)
	{
		return (int)$value;
	}

	public function string($value)
	{
		return (string)$value;
	}

	public function float($value)
	{
		return (float)$value;
	}

@unikalna_nazwa, z tego samego co i to. To ten framework co gonił Duke Nukem Forever, autor 7 lat temu książkę o PHP pisał.

szypxx
weźcie lepiej powiedzcie o co tu chodzi bo nie kumam :/ a też bym chciał się pośmiać czy cokolwiek ...
0

@szypxx, opakowanie rzutowania w funkcję, która nie robi niczego innego niż zmienia kolejność nawiasów (z (float)x na float(x)) czy DEBILNE nazwy składowych: zmienna enable i metoda disable... zmieniająca enable. Z innych podobnych kwiatków: Sort::display nie wyświetla sortowanych danych czy czegokolwiek sensownego, po prostu tworzy tag <a> do sortowania wedle podanej kolumny SQL i wypluwa poprzez echo.

Kopiuj
$drop_char_match = array('^', '$', ';', '#', '&', '(', ')', '`', '\'', '|', ',', '?', '%', '~', '[', ']', '{', '}', ':', '\\', '=', '\'', '!', '"', '-', '%20', "'");

Kolejny genialny kod i nazwa zmiennej, rzeczy do stripnięcia. Dla mniej kumatych, przyjrzyjcie się uważnie wystąpienim %. Pikanterii dodaje stosowanie security through obscurity w oprogramowaniu open source.

OO
Wohooh :D Wdziałem to niebiesko na błękitnym więc musiałem zooma zrobić by to cudeńko przeczytać ;>
unikalna_nazwa
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 9 lat
0

chyba Ci trochę ktoś zalazł za skórę że tak zgłębiasz ten framework?

(wcale tego nie piszę żeby przykopać inny temat)


Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
0

Jeśeli zalazł to 8-9 lat temu i jakoś z tym żyję. Chciałem po prostu wykorzystać kojota u siebie, ale problem jest taki: ten kojot jest zapełnie jak kojot z kreskówki, na dłuższą metę wszystko musi spierniczyć. Kolejny raz próbuję to doprowadzić do ładu - to co działa dla 4p prawie zawsze (9 przypadków na 10) w przypadku ogólnym już głupieje albo nie działa wcale. Przykłady nazewnictwa dawałem, żeby jedno wywołanie metody ogarnąć to trzeba czasem 20 plików przelecieć, dokumentacja niewiele pomaga. Czytanie kodu to koszmar, poprawianie czegokolwiek również: nasz weteran PHP stosuje metodologię Kopiego-Pejsta, pokazana w poprzednim poście tablica stripowanych "znaków" występuje w czterech różnych miejscach frameworku, nawet pod tą samą nazwą i z podobnym kodem. Inne perełki występują nawet po 6-8 razy.

Diff zmian najnowszej wersji:

Kopiuj
      {
              if (User::$id == User::ANONYMOUS)
              {
-                       throw new Error(403, 'Edycja komentarzy możliwa jest przez zalogowanych użytkowników!');
+                       throw new Error(500, 'Edycja komentarzy możliwa jest przez zalogowanych użytkowników!');
              }
              $id = (int) $id;
              $comment = &$this->getModel('comment');

Pierwszy argument wyjątku to status HTTP, z nieautoryzowanego dostępu został zmieniony na wewnętrzny błąd serwera. Czyżby Adam aż tak bardzo bał się Anonimowych?

0

a ty byś się nie bał? w tym roku 4p odwiedzi tsunami

sehanine
już odwiedziło :D
szypxx
Skoro i wy to i ja :D
0

wiem że to dzieło newbie ale mnie strasznie to rozśmieszyło:

Kopiuj
if(!($link_true === false))
RE
Można by to skrócić do if($link_true !== false), ale w PHP if($link_true) będzie już czymś innym.
0

@Rev: ta, wiem i ma być !== false bo link_true było wynikiem str_pos
chodziło o absurdalną nazwę zmiennej z sufiksem "true" przyrównywanej do "false" a potem jeszcze zaprzeczanie tego :D I oczywiście od razu wiadomo o co chodzi ;)

KR
  • Rejestracja:prawie 16 lat
  • Ostatnio:5 miesięcy
  • Postów:2514
0

może nie największe, ale i tak WTF ;p

http://img263.imageshack.us/img263/4952/wtfwcn.png


░█░█░█░█░█░█░█░█░█░█░█░
byku_guzio
  • Rejestracja:prawie 15 lat
  • Ostatnio:około 7 lat
0
Kopiuj
If UCase(login) = "ADMIN" And UCase(pwd) = "QWERTY" Then
   m_ok = True 'udane logowanie
Else

Tak - to kod produkcyjny, na szczęście wewnętrzny
Tak - zwykli użytkownicy są trzymani w bazie z zahaszowanym hasłem


edytowany 2x, ostatnio: byku_guzio
Demonical Monk
  • Rejestracja:około 17 lat
  • Ostatnio:10 miesięcy
0
krwq napisał(a)

może nie największe, ale i tak WTF ;p

http://img263.imageshack.us/img263/4952/wtfwcn.png

Gdzie tu WTF? Zgubiłeś konwencję wywołania której pewnie domyślnie chińskie GCC nie pokazuje.
Brak obsługi __thiscall w GCC który jest (albo i był z miesiąc temu) dostarczany z Code::Blocksem to jest dopiero WTF.


Women were the reason I became a monk - and, ah, the reason I switched back...
edytowany 4x, ostatnio: Demonical Monk
KR
próba konwersji z tego samego na to samo jest dla mnie dziwna, a szczególnie jak się nie uda. myślałem że pokazuje konwencje :P
Demonical Monk
Jeśli dla ciebie void __thiscall x() to to samo co void __stdcall x() to mamy kolejną rzecz z serii "trochę humoru".
vpiotr
A te daszki z przodu nie sygnalizują jasno że to niestandardowy (microsoftowy) wynalazek?
Resident
  • Rejestracja:ponad 15 lat
  • Ostatnio:około rok
  • Postów:195
0

yyy ? NIESTETY źle się wkleiło i dupa nie oddaje tego . Orginalny topic : http://forum.programuj.com/viewtopic.php?t=12607

Kopiuj
 
if (tablica==0);//po zadeklarowaniu tablicy trzeba określić jej warunki. Nie mogą same zera w grafie. 
cout<<"Nie mogą być same zera. Ponownie wprowadź dane"<<endl; 
cin>>liczba[i][j]; 
else 
cout<<"W tablicy nie ma samych zer. Jest graf"<<endl; 
         { 
         if (liczba[1][2]==1)// instrukcje warunkowe decydują o tym czy wierzchołki się łączą jeśli się nie łączą to szukane są dalsze wiązanie 
         cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
         else 
         cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                    } 
                    if (liczba[1][3]==1) 
                    cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                    else 
                    cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                               { 
                               if (liczba[1][4]==1) 
                               cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                               else 
                               cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                          { 
                                          if (liczba[1][5]==1) 
                                          cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                          else 
                                          cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                     { 
                                                     if (liczba[1][6]==1) 
                                                     cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                     else 
                                                     cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                { 
                                                                if (liczba[2][1]==1) 
                                                                cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                else 
                                                                cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                           { 
                                                                           if (liczba[2][3]==1) 
                                                                           cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                           else 
                                                                           cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                      { 
                                                                                      if (liczba[2][4]==1) 
                                                                                      cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                      else 
                                                                                      cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                 { 
                                                                                                 if (liczba[2][5]==1) 
                                                                                                 cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                 else 
                                                                                                 cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                            { 
                                                                                                            if (liczba[2][6]==1) 
                                                                                                            cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                            else 
                                                                                                            cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                       { 
                                                                                                                       if (liczba[3][1]==1) 
                                                                                                                       cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                       else 
                                                                                                                       cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                  { 
                                                                                                                                  if (liczba[3][2]==1) 
                                                                                                                                  cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                  else 
                                                                                                                                  cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                             { 
                                                                                                                                             if (liczba[3][4]==1) 
                                                                                                                                             cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl;                                                                                      
                                                                                                                                             else 
                                                                                                                                             cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                        { 
                                                                                                                                                        if (liczba[3][5]==1) 
                                                                                                                                                        cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                        else 
                                                                                                                                                        cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                   { 
                                                                                                                                                                   if (liczba[3][6]==1) 
                                                                                                                                                                   cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                   else 
                                                                                                                                                                   cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                              { 
                                                                                                                                                                              if (liczba[4][1]==1) 
                                                                                                                                                                              cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                              else 
                                                                                                                                                                              cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                         { 
                                                                                                                                                                                         if (liczba[4][2]==1) 
                                                                                                                                                                                         cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                         else 
                                                                                                                                                                                         cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                    { 
                                                                                                                                                                                                    if (liczba[4][3]==1) 
                                                                                                                                                                                                    cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                    else 
                                                                                                                                                                                                    cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                               { 
                                                                                                                                                                                                               if (liczba[4][5]==1) 
                                                                                                                                                                                                               cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                               else 
                                                                                                                                                                                                               cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                          { 
                                                                                                                                                                                                                          if (liczba[4][6]==1) 
                                                                                                                                                                                                                          cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                          else 
                                                                                                                                                                                                                          cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                     { 
                                                                                                                                                                                                                                     if (liczba[5][1]==1) 
                                                                                                                                                                                                                                     cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                     else 
                                                                                                                                                                                                                                     cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                { 
                                                                                                                                                                                                                                                if (liczba[5][2]==1) 
                                                                                                                                                                                                                                                cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                else 
                                                                                                                                                                                                                                                cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                           { 
                                                                                                                                                                                                                                                           if (liczba[5][3]==1) 
                                                                                                                                                                                                                                                           cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                           else 
                                                                                                                                                                                                                                                           cout<<"nie ma lączeń miedzy wierzchołkami">>endl;{ 
                                                                                                                                                                                                                                                                      { 
                                                                                                                                                                                                                                                                      if (liczba[5][4]==1) 
                                                                                                                                                                                                                                                                      cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                      else 
                                                                                                                                                                                                                                                                      cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                 { 
                                                                                                                                                                                                                                                                                 if (liczba[5][6]==1) 
                                                                                                                                                                                                                                                                                 cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                                 else 
                                                                                                                                                                                                                                                                                 cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                            { 
                                                                                                                                                                                                                                                                                            if (liczba[6][1]==1) 
                                                                                                                                                                                                                                                                                            cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                                            else 
                                                                                                                                                                                                                                                                                            cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                                       { 
                                                                                                                                                                                                                                                                                                       if (liczba[6][2]==1) 
                                                                                                                                                                                                                                                                                                       cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                                                       else 
                                                                                                                                                                                                                                                                                                       cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                                                  { 
                                                                                                                                                                                                                                                                                                                  if (liczba[6][3]==1) 
                                                                                                                                                                                                                                                                                                                  cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                                                                  else 
                                                                                                                                                                                                                                                                                                                  cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                                                             { 
                                                                                                                                                                                                                                                                                                                             if (liczba[6][4]==1) 
                                                                                                                                                                                                                                                                                                                             cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                                                                             else 
                                                                                                                                                                                                                                                                                                                             cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                                                                        { 
                                                                                                                                                                                                                                                                                                                                        if (liczba[6][5]==1) 
                                                                                                                                                                                                                                                                                                                                        cout<<"wierzchołek 1 łączy się z wierzchołkiem 2">>endl; 
                                                                                                                                                                                                                                                                                                                                        else 
                                                                                                                                                                                                                                                                                                                                        cout<<"nie ma lączeń miedzy wierzchołkami">>endl; 
                                                                                                                                                                                                                                                                                                                                        } 
                                                                                                                                                                                                                                                                                                                             } 
                                                                                                                                                                                                                                                                                                                  } 
                                                                                                                                                                                                                                                                                                       } 
                                                                                                                                                                                                                                                                                            } 
                                                                                                                                                                                                                                                                                 } 
                                                                                                                                                                                                                                                                      } 
                                                                                                                                                                                                                                                           } 
                                                                                                                                                                                                                                                } 
                                                                                                                                                                                                                                     } 
                                                                                                                                                                                                                          } 
                                                                                                                                                                                                               } 
                                                                                                                                                                                                    } 
                                                                                                                                                                                         } 
                                                                                                                                                                              } 
                                                                                                                                                                   } 
                                                                                                                                                        } 
                                                                                                                                             } 
                                                                                                                                  } 
                                                                                                                       } 
                                                                                                            } 
                                                                                                 } 
                                                                                      } 
                                                                           } 
                                                                } 
                                                     } 
                                          } 
                               } 
                    } 
         } 
 

...
edytowany 2x, ostatnio: Resident
Sarrus
Dla mnie żaden wtf. Jest to kod bardzo początkującego programisty, który ma problemy ze zrozumieniem idei formatowania kodu i z przeznaczeniem oraz poprawnym użyciem pętli. Może być to dość zabawne z uwagi na kontekst i bardziej nadaje się do 'trochę humoru'.
xeo545x39
Jeju.. cały tamten topic to jedno wielkie wtf..
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Pewien fragment mojego kodu w PHP:

Kopiuj
echo "Debug: "+$DebugVal01;

I 2 godziny odnajdywania błędu, dlaczego cholerstwo zawsze wywala 0 zamiast np.:Debug: 239
Jakby kto nie wiedział, to do łączenia znaków w PHP używa się kropki, czego oczywiście nie zauważyłem :P


edytowany 1x, ostatnio: Patryk27
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Wrocław
1

Korzystam z biblioteki do serializacji CSV i [CIACH!] mnie strzela, bo jakiś geniuś wymyślił, żeby numerować kolumny od 1 jak humaniści zamiast od 0 jak ludzie. :/

edytowany 1x, ostatnio: nav
Wibowit
Dobrze, że nie A, ... AB, ... , XYZ jak w arkuszach kalkulacyjnych :] Wtedy to być se pewnie nie poradził wcale :P
somekind
Daję radę. :P Tylko wkurza mnie to, że tracę czas na debugowanie, którego przyczyną jest złamanie konwencji przez autorów biblioteki. :)
Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:5 dni
  • Postów:2512
0

Była sobie pewna strona w php napisana przez niepracującą w tej firmie już osobę i na niej dropdown z pewną informacją - nazwijmy to typem. Dane zapisywane były w tabeli nazwijmy DANE. Więc należało nazwy pewnych typów zmienić, inne dodać, a jeszcze inne odjąć. Spodziewając, że w bazie danych znajdę odpowiednią tabelę z id i nazwą, a w DANE id tego typu, myślę sobie "łatwizna". Po krótkiej analizie okazało się, że takiej tabeli nie ma, a typ jest wpisywany do DANE w postaci tekstowej (czyli niezgodnie z 3 postacią normalną!). Natomiast do dropdown dane pobierane były zapytaniem w stylu

Kopiuj
SELECT distinct typ FROM DANE

Ręce mi opadły poniżej poziomu morza...

edytowany 1x, ostatnio: Sarrus
Zobacz pozostałe 3 komentarze
Freakman
@ace4ur: tak, niestety ; )ludzie mają rozne pomysly.
LN
@ten gość od kolumny z goścmi: o_O
SP
czasem denormalizacja jest czyms uzasadniona. 4 postac normalna jest zawsze jedyna słuszna tylko w srodowiskach akademickich.
Sarrus
@up ten przypadek na pewno nie miał uzasadnienia, możesz mi wierzyć
LN
@spin: czasem - to słowo klucz ;]
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 9 godzin
  • Lokalizacja:Wrocław
0

Nie WTF, ale trochę śmiesznie wygląda.
Fragment przykładowego kodu z MSDN:

Kopiuj
Parallel.Invoke(action, action, action, action, action, action, action, action);
IK
Steve Ballmer was there :] Wszak wiadomo, że developers, developers, developers, developers, developers, developers... potrzebują action, action, action, action... http://www.youtube.com/watch?v=e8M6S8EKbnU
szypxx
Ballmerowi się coś po je ba ło. Nasłuchał się psychologów że emocje są zaraźliwe - ale wstyd też.
SI
  • Rejestracja:ponad 15 lat
  • Ostatnio:około 3 lata
0
Kopiuj
[...]

                                g++;
                                g++;
                                g++;
                                g++;
                                g++;
                            }
                            
                        }
                    }
                    g++;
                    g++;
                    g++;
                    g++;
                    g++;
                }
                g++;
                g++;
                g++;
                g++;
                g++;
            }
[...]
xeo545x39
A ja kiedyś byłem bardzo zmęczony i własnie podobnie powiększałem int'a, bo zapomniałem o '+'
bogdans
Jak jestem bardzo zmęczony, to wole napisać g+=179; lub g=g+179; niż pisać 179 razy g++; i liczyć ile już tych wyrażeń napisałem.
xeo545x39
Ale wtedy to dopiero były moje podstawy z programowania, więc mogło się zdarzyć ;p
Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 12 lat
  • Postów:7923
0

za http://roflcopter.pl/5316

Kopiuj
<@joosa> how do you say float in java? just 1.5f? 
<@Gliptic> FloatFactoryFactory.getInstance(FloatFactoryFactory.defaultInstanceDescriptionString).getFactory(Locale.getLocale("en-US")).createBuilder().setString("1.5").getResult()

proszę powiedzcie, że to nie prawda :D :D :D


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
unikalna_nazwa
@Wibowit: lol, faktycznie - jakiś koleś tam na dole próbował to zrobić bez jQuery :O gdzie się tacy rodzą... $.msgBox($.add($(1), $(2))); nie prościej? co prawda trzeba parę pluginów...
vpiotr
ja właśnie robię to w C++ - to się nazywa method chaining - zależnie od kontekstu może być przydatne - po prostu inna forma (dla mnie lepsza forma konstruktora).
0

Zgodnie z życzeniem i prawdą odpowiadam: to nie jest prawda.

Misiekd
ulżyło mi :p
Demonical Monk
Na logikę to @bo mówi prawdę ;D
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)