网站首页 > 精选教程 正文
每个有追求的程序员都希望自己的代码写的优雅,有高级感。但是现实很多程序员只是砌墙,堆业务代码,堆着堆着几年后会发现变得毫无兴趣,工资也不会上涨。
如何改变?
其实很多人已经讲过,看经典代码,这里以nginx为例。
相信在你年轻的时候,初入代码门槛的时候,你去看linux,ngnix,apache等源码会一头雾水,根本看不懂。即使觉得看懂了,也是似懂非懂,一个知识点牵引出无数个未知知识点,你困惑吗?
以我自己的经验来讲,你只需要做到以下三点,就能看懂优秀的源码。
第一;带着一个问题来看,以Nginx为例,当你想nginx是一个http服务器,那么它是怎样处理浏览器一个http请求的呢?接下来你就可以按照这个主线从头到尾看完。注意,在看这个主线的过程中,一定要屏蔽跟主线无关的代码,不要在与主线无关的细节上纠缠。
第二;以点带面,在看问题的时候记录你在看源码过程中的疑问点。上面你看完一个问题后,在这个过程中你一定会遇到无数个其他问题,比如:nginx进程是如何管理的?进程间是如何通信的?如何优雅地不停服的重启ngnix?为何要使用epoll处理http请求?epoll在nginx中是如何使用的?什么是惊群效应?惊群效应是如何产生的?如何处理惊群效应?这时候你就可以像第一个方面那样,每个作为一个问题来继续,不停的重复这个过程。
第三;一定要把官方文档仔细读一遍,这是需要耐心,毅力,坚持,只要你肯付出时间和努力,一定会有收获。官方文档不但可以为你答疑解惑,更重要的是,给你一种全局观,整体上去把握整个代码结构,代码设计。
程序设计是一门艺术,一门设计的艺术,一门动手实践的艺术,你只有乐在其中,才能体会这种快乐。
猜你喜欢
- 2024-10-25 linux性能优化-网络 linux性能优化大师
- 2024-10-25 2020年面试复盘大全+解析:Redis+ZK+Nginx+数据库+分布式+微服务
- 2024-10-25 Openresty协程调度对比Go协程调度
- 2024-10-25 nginx的基础配置一 nginx基本配置与参数说明
- 2024-10-25 「linux」多个套接字可以绑定同一个端口吗
- 2024-10-25 350行C代码实现epoll reactor模型
- 2024-10-25 Linux下各种锁的理解和使用及总结解决epoll惊群问题(面试常考)
- 2024-10-25 linux 多线程或多进程 epoll处理 accept 惊群问题
- 2024-10-25 深入浅出 Linux 惊群:现象、原因和解决方案
- 2024-10-25 Linux网络编程“惊群”问题总结 linux惊群效应详解
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)