当前位置: 首页 > wzjs >正文

饮料公司网站模板seo网站优化专家

饮料公司网站模板,seo网站优化专家,聊城门户网站建设,web网站开发框架Web应用开发 --- Tips General后端需要做参数校验代码风格和Api设计风格的一致性大于正确性数据入库时间应由后端记录在对Api修改的时候,要注意兼容情况,避免breaking change 索引对于查询字段,注意加索引对于唯一的字段,考虑加唯…

Web应用开发 --- Tips

  • General
    • 后端需要做参数校验
    • 代码风格和Api设计风格的一致性大于正确性
    • 数据入库时间应由后端记录
    • 在对Api修改的时候,要注意兼容情况,避免breaking change
  • 索引
    • 对于查询字段,注意加索引
    • 对于唯一的字段,考虑加唯一索引
  • 多线程
    • 尽量优先使用线程安全工具,避免直接使用锁
    • 注意线程的使用数量

General

后端需要做参数校验

  • 后端Api需要根据情况,进行参数校验

代码风格和Api设计风格的一致性大于正确性

  • 一致的代码风格使团队所有成员都能快速理解代码
    新成员加入时学习曲线更低
    减少"这是谁写的代码?"这类困惑
  • 长期成本考量
    修复风格不一致的代价往往高于修复逻辑错误
    风格混乱的代码库会持续产生维护成本
    一致性差的代码在重构时风险更高
  • 认知负荷理论
    开发者大脑需要处理的风格差异越少,越能专注于业务逻辑
    减少风格争议让团队把精力放在真正重要的架构问题上

数据入库时间应由后端记录

  • 除非特殊情况,数据进入数据库的时间记录应是后端插入数据的时间
  • 前端传来的时间是不可信的,比如两条数据传一样的时间,错误的时间等等情况
  • 特别是有需要使用时间排序的情况

在对Api修改的时候,要注意兼容情况,避免breaking change

  • 在对Api进行修改的时候,如改变Api的signature或在behavior时,要尽量避免breaking change,需要兼容老版本

索引

对于查询字段,注意加索引

  • 对于查询的字段,需要考虑加索引提高查询速度

对于唯一的字段,考虑加唯一索引

  • 对于不可重复的字段,需要加唯一索引

多线程

尽量优先使用线程安全工具,避免直接使用锁

  • 在现代多线程编程中,直接使用锁(如synchronized、ReentrantLock等)虽然能解决问题,但会带来一些潜在风险和维护成本。更好的做法是优先使用线程安全的集合和其他封装好的并发工具
  • C#并发安全的集合
ConcurrentDictionary<TKey, TValue> 
ConcurrentQueue<T>
ConcurrentStack<T>
ConcurrentBag<T>
BlockingCollection<T>
  • c# 原子操作 (System.Threading.Interlocked)
Interlocked.Increment(ref counter); // 原子递增
Interlocked.Decrement(ref counter); // 原子递减
Interlocked.Exchange(ref value, newValue); // 原子交换
Interlocked.CompareExchange(ref value, newValue, comparand); // 比较并交换
  • C# 任务并行库 (Task Parallel Library, TPL)
//Parallel 类
Parallel.For(0, 100, i => {// 并行执行的代码
});
Parallel.ForEach(collection, item => {// 并行处理的代码
});
 //PLINQ (Parallel LINQ)
var results = data.AsParallel().Where(x => x > 0).Select(x => Process(x)).ToList();
//Task 类
Task.Run(() => {// 后台执行的代码
});var task1 = Task.Run(() => DoWork1());
var task2 = Task.Run(() => DoWork2());
Task.WaitAll(task1, task2); // 等待所有任务完成
  • 轻量级同步
SemaphoreSlim // 轻量信号量
ReaderWriterLockSlim // 读写锁
ManualResetEventSlim // 轻量事件
  • 异步编程模型 (async/await)
async Task<int> GetDataAsync()
{var data = await httpClient.GetStringAsync(url);return ProcessData(data);
}

注意线程的使用数量

  • 在使用多线程的时候,需要预估和注意线程的数量. 过多的线程数量会导致资源紧张问题
  • 比如一个发送消息的代码, 当taskNum过于大的时候,会导致大量的线程被创建,消耗资源
    解决方案
  • 思考是否真的需要多线程,可否不用
  • 使用信号量控制线程数量
  • 使用线程池控制线程数量
    public void Run(int taskNum){var producerTasks = new Task[taskNum];for (int i = 0; i < producerTasks.Length; i++){int producerId = i + 1;producerTasks[i] = Task.Run(() => ProducerThread(producerId));}}
http://www.dtcms.com/wzjs/179844.html

相关文章:

  • 嘉兴专业定制网站制作企业seo算法培训
  • 上海网站制作建设建设网站的步骤
  • 做网站头视频长沙营销推广
  • 深圳移动官网网站建设郑州做网站的专业公司
  • 淄博网站排名seo百度app内打开
  • 旅游公司网站开发与实现郑州网站技术顾问
  • 门头沟青岛网站建设海外品牌推广
  • 怎样开发网站建设76人vs猛龙
  • 没有英文网站怎么做外贸seo百度刷排名
  • 做网站去哪里备案做网站需要哪些技术
  • 在淘宝做印刷网站怎么办理今日头条新闻10条简短
  • 网站系统设计方案什么是网络营销推广
  • 北京微信网站开发报价网站友情链接购买
  • 网站数据库如何做新闻头条今日要闻10条
  • 企业所得税税率三个档次长沙谷歌seo收费
  • 做网站的公司有哪些百度搜索引擎优化指南最新版
  • 汽车网站建设流程网络营销的主要手段和策略
  • 自己做彩票网站合法吗员工培训课程
  • 网站url 结构市场调研与分析
  • 展示型网站一样做seo优化吗纯手工seo公司
  • 前端网站搜索导航怎么做网络广告策划书范文
  • 呼市企业网站制作宁波网络推广软件
  • 好制作网站公司河南郑州最新消息
  • 泰州网站制作工具最受欢迎的十大培训课程
  • 微信手机网站流程百度云登录首页
  • 做一个小程序收费价目表性价比高seo排名优化的
  • 兰州七里河爱站网seo工具包
  • 物流公司做网站北京关键词排名推广
  • 做语文高考题网站网站seo策划方案案例分析
  • 离型剂技术支持东莞网站建设学电商出来一般干什么工作