Я пересматриваю часть своего кода, и я не могу не чувствовать, что он очень запутанный, сложный и запутанный. Изучив его все больше и больше, я начал замечать, что код не так сложный, как многословный.Как предотвратить регистрацию от загромождения кода?
Мы используем NLog и предоставляем очень подробный вывод в журнал отладки, поскольку приложение невероятно подвержено ошибкам, и мы стараемся быть очень тщательными.
Вот пример одного из наиболее простых методов
[HttpGet]
public ActionResult Zendesk(long? id)
{
if (!GlobalVariables.AllSyncSettings.SyncEnabled || !GlobalVariables.AllSyncSettings.ZdSyncEnabled)
return Json(new { Enabled = "False" });
if (id == null || id == 0)
return Json(new { Error = "Missing or malformed ticket ID." }, AG);
if (CheckZdIdExists((long)id))
return Json(new { status = "error, in queue." }, AG);
GlobalVariables.TicketsInQueue.Add((long)id);
Log("-------------- STARTING NEW CASE [ZENDESK]["+ id +"] --------------");
var zdHelper = new ZendeskHelpers();
var zdTicket = zdHelper.GetTicketById((long)id);
if (zdTicket == null)
{
Log("--------------- ENDING CASE [ZENDESK][" + id + "] ---------------");
GlobalVariables.TicketsInQueue.Remove((long)id);
return Json(new { Error = "Error fetching ticket" }, AG);
}
var sfHelper = new SalesForceHelpers();
if (!sfHelper.checkTicketOwner(zdTicket))
{
Warn(id + " | Case generation not necessary. Ticket doesn't meet criteria.");
Log("--------------- ENDING CASE [ZENDESK][" + id + "] ---------------");
GlobalVariables.TicketsInQueue.Remove((long)id);
return Json(new { success = "case was not generated" }, AG);
}
Log(id + " | Generating SalesForce case for Zendesk");
var sfCase = sfHelper.GenerateCase(zdTicket);
if (sfCase == null)
{
Warn(id + " | Case was not generated successfully. Cannot continue.");
Log("--------------- ENDING CASE [ZENDESK][" + id + "] ---------------");
GlobalVariables.TicketsInQueue.Remove((long)id);
return Json(new { Error = "Case was not generated successfully. Cannot continue." }, AG);
}
GetZDAttachments(zdHelper, sfHelper, (long)id, sfCase);
if (!zdTicket.Status.ToLower().Contains("closed") && ZendeskHelpers.GetCustomField(zdTicket, ZdCustomFields.SfCaseNo) == null)
zdHelper.SetSfId(zdTicket, sfCase.CaseNumber);
Log("--------------- ENDING CASE [ZENDESK][" + id + "] ---------------");
GlobalVariables.TicketsInQueue.Remove((long)id);
return Json(new { SFCase = sfCase }, AG);
}
Возможно лучший вопрос для http://programmers.stackexchange.com/ –
вы бы быть в состоянии воспроизвести и диагностировать проблемы вы испытываете без этого много лесозаготовок? если ответ отрицательный, то, возможно, никаких изменений не будет лучше. если вам не нужно столько регистрации, что вы хотите сделать? – user1666620
Разве вы не должны сделать приложение менее склонным к сбою, а? Возможно, я ожидаю, что этот уровень ведения журнала войдет в временную сборку отладки на ветке поиска ошибок, но никогда не будет на магистрали. –