суббота, 16 июня 2012 г.
Shitty Code Spagetti Говнокод
Набрел тут на кошмарный код. Проверил по Code Metrics (есть такая вкусность в Visual Studio), индекс поддержки - желтый, значение 14 (должен быть как минимум 20, а лучше - стремиться к 100). Цикломатическая сложность кода (зависит от вложенности условных операторов и циклов) - 58, должна быть не более 15.
Весь код привожу под катом.
Добавим в кнопку SaveButton и событие OnSaving
Что если нам перед сохранением данных формы требуется выполнить кое-какие вычисления?
Первый способ - можно добавить в форму CustomValidator, который всегда возвращает true, но перед этим выполняет все необходимые вычисления.
Второй способ - сделать событие к кнопке SaveButton. Вот код:
namespace Compsphere.SharePoint.WebControls { public class SaveButtonWithEvents : SaveButton { public CancelEventHandler Saving; protected virtual void OnSaving(CancelEventArgs e) { if (Saving != null) { Saving(this, e); } } protected override bool SaveItem() { CancelEventArgs e = new CancelEventArgs(false); OnSaving(e); if (e.Cancel) return true; return base.SaveItem(); } } }p.s. Добавьте в начало: using Microsoft.SharePoint.WebControls; using System.ComponentModel;