cryinstone: (Default)
Без излишней словесности объясняет преимущество распределенных систем над централизованными, и приводит хорошую таблицу сравнения трех лучших на сегодняшний день софтин (Git, Mercurial, Bazaar) на предмет функционала и производительности.

http://www.infoq.com/articles/dvcs-guide
cryinstone: (Default)
Правильная статья Мартина Фаулера о сорс-контролях - как выбрать систему, подходящую под бизнес и культуру команды, и из чего выбирать:
http://martinfowler.com/bliki/VersionControlTools.html

Старик Мартин выражает мнение, что TFS - говно below the recommendability threshold. Пустячок, но сердцу приятно.
cryinstone: (Default)
Только я один думаю, что вместо того, чтобы называть конструктор именем класса, как это делаетя в языке С++ и производных - С#, Java, гораздо было бы проще использовать зарезервированное слово constructor?

То есть, вместо

сlass MyClass
{
    MyClass() { ... }
}


иметь

сlass MyClass
{
   constructor() { ... }
}


Преимущество: находить все конструкторы в коде легко и удобно, так как имя не зависит он названия структуры / класса.
cryinstone: (Default)
If you have ever tried the detection of memory leaks in .NET applications, you probably know that it can be a tricky issue.

One of the common sources of the memory leaks is the subscription to events, especially if the subscriber is supposed to be a short-lived object. Every such the subscription creates a reference. Since the subscriber object is now referenced, it becomes not collectable by GC and remains in the heap for a long time, or forever, even when no longer used.
The easiest and the most correct solution is not to forget to un-subscribe handler. However, that's not always easy, and in some cases not possible at all.

And here comes an elegant solution from Paul Stovell: WeakReference event handlers

Profile

cryinstone: (Default)
cryinstone

November 2023

S M T W T F S
   1234
5678 91011
12131415161718
19202122232425
2627282930  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 23rd, 2026 02:48 am
Powered by Dreamwidth Studios