Kolega ma chyba jakąś traumę z przeszłości.
Bardzo bym chciał, żeby to była przeszłość. Tak się składa, że pracuję w angielskiej firmie, i współpracuję z kilkoma innymi angielskimi firmami, w których programują Anglicy. Generalnie ich kodem można by wypełnić cały dział Perełki u nas. Programowanie metodą kopiuj-wklej, obsługa wyjątków, która sama może rzucić wyjątki, wszystko statyczne, metody zwracające wyjątki jako wynik działania funkcji, metody void operujące na polach klasy i zwracające wynik operacji przez parametry... Gdy ich spytaliśmy, czemu tak to zrobili, to odpowiedzieli, że projektowali aplikację jako wielowątkową, ale w końcu musieli z tego zrezygnować, bo wiele wątków uruchomionych jednocześnie powodowało deadlocki na bazie. Jeśli chodzi o bazy - PK typu GUID albo kompletny brak PK, zamiast założyć indeksy zwiększają systemowy limit czasu transakcji.
Fabryki u nich wyglądają tak:
public class MagicServicesClassFactory
{
static MagicService _magicService = null;
private static readonly object lockObject = new object();
/// <summary>
/// Gets the Magic Service instance.
/// Singleton pattern
/// </summary>
/// <returns></returns>
static public IMagicService GetMagicServiceInstance()
{
if (_magicService == null)
{
lock (lockObject)
{
if (_magicService == null)
{
_magicService = new MagicService();
}
}
}
return _magicService;
}
}
A zawartość SVN tak:
Tak - wbijają skompilowane pliki, ustawienia IDE, i wyniki testów do repozytorium... Generalnie programistyczny czwarty świat.
No, ale skoro Ty jesteś zadowolony ze współpracy, to znaczy, że gdzieś tam są też cywilizowani Anglicy...