使用lambda會降低代碼可讀性嗎?


看到下屬的程序員有這么一段代碼(filename就是圖片url地址的用逗號拼接的字符串,功能就是用,分割出來批量插入數據庫,filename前面已經做了非空檢查),覺得實在太羅嗦,忍不住重構了一下,並且在某條曬了出來。 

if (fileName.Contains(','))
            {
                string[] arr = fileName.Split(',');
                foreach (var itme in arr)
                {
                    list.Add(new Resource { Category = ResourceCategory.Inquire, Relate_ID = relateID, FileName = itme });
                }
            }
            else
            {
                list.Add(new Resource { Category = ResourceCategory.Inquire, Relate_ID = relateID, FileName = fileName });
            }


if (list != null && list.Count > 0)
            {
                using (var trans = db.Database.BeginTransaction())
                {
                    try
                    {
                        foreach (var item in list)
                        {
                            db.Resource.Add(item);
                        }
                        db.SaveChanges();
                        trans.Commit();
                    }
                    catch (Exception ex)
                    {
                        message = ex.Message;
                        trans.Rollback();
                    }
                }

我改了寫法如下(注意fileName不為空前面已經判斷過了)

await db.AddRangeAsync(fileName.Split(',').Select(p => new Resource { Category = ResourceCategory.Inquire, Relate_ID = relateID, FileName = p }));
await db.SaveChangesAsync();

  但是真沒想到的是大部分居然說重構后可讀性差,我真的是郁悶。微軟推出linq和lambda10多年了,我也寫了10多年了,從來沒覺得可讀性差,現在的年輕程序員是怎么回事呢?確實是我的問題?是我太落后了?

這文章實在沒有什么技術含量,我是不好意自己推薦到首頁首選區,但我真的很好奇想問問院子的兄弟,因為這里應該是國內.net的水平比較高的程序員集中營了吧,問一下使用lambda有什么問題嗎?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM