Рефакторинг не спасет отца русской демократии, Эрика Оллмана. Задача
рефакторинга это упрощение кода, улучшение его читабельности без
изменения функционала. Я считаю что нужно переписывать с нуля. Хотя
зачем переписывать, когда есть более вменяемые альтернативы?
On 1/31/08, Valentin Nechayev
Thu, Jan 31, 2008 at 12:30:41, igor.karpov wrote about "[uanog] NetBSD 4.0":
Christos Zoulas: Sendmail has been, is, and will be a security accident waiting to happen (unless it is rewritten from the ground up with security consciousness). Performing character pointer gymnastics in 50-100 line loops does not create any warm and fuzzy feelings for me. To top this off, most sendmail security issues are marked as confidential, and we are prevented from fixing or mentioning the problem until the ban is lifted. The last time this happened, we said "enough" and removed it altogether before the ban for that particular security issue was lifted.
Ну неудивительно - даже если 90% рассказов про дырки в sendmail - urban legends, приложение, которое не рефакторилось более 20 лет, а разрабатывалось просто наложением заплаток на заплатки, будет так выглядеть, как сейчас sendmail.
А разработчики, вместо того, чтобы начать с развязывания самых диверсионных узлов (sendall, getrequests, dropenvelope, автомат жизни адреса, алиасинг, завязывание на переписывания логики всех уровней, низкие лимиты на юзерские данные, схема stab'ов) - с одной стороны, наворачивают новый уровень заплат, а с другой - порождают с нуля какой-то "sendmailX" который выдают с помпой и при этом он делает что угодно, кроме работы.
Я, кстати, не могу (по крайней мере с ходу) согласиться с Zoulas'ом на тему про переписывание "from the ground up". Как правило, это приводит к потере мелких, но крайне полезных фич. Рефакторинг придумали не зря - технология грамотной переделки без потери функциональности уже отлажена двумя поколениями:)
-netch- =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
=================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message