premature optimization is the root of all evil |
[Nov. 14th, 2013|02:11 pm] |
в данном случае — даже вдвойне: именно premature optimization привела к тому, что скурвился root.
сука, проебал один сайд-эффект: закэшировал в фиксапе корень красно-чёрного дерева в локальную переменную и забыл, что вращение его может поменять. естественно, получилась атомная хуйня в итоге. |
|
|
Comments: |
From: | (Anonymous) |
Date: | November 14th, 2013 - 04:38 pm |
---|
| | | (Link) |
|
не знаю насколько это годно, но обычно помогает набросать в код assert-ов, даже таких, которые, по-идее, нафиг не нужны и никогда не сработают (а сработают они в первую очередь).
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | ketmar |
Date: | November 14th, 2013 - 04:46 pm |
---|
| | | (Link) |
|
так вот, сука, из-за лишнего assert'а у меня был баг в удалении, гыг. ну, точнее, не assert в данном случае был, а лишняя перестраховка, которая обрубала несколько нужных действий.
так-то я обычно и проверяю контракты на входе, и в ключевых местах проверяю последствия (даже если «такого не может быть, потому что не может быть никогда», да). | |