干货!攻城狮的交流分享!聊一聊开发人员快速提升自己的方式

简介: 本文分享了作为开发人员,快速提升自己的几种方式。主要包括建立一个实质性的项目,向开源项目作出自己个人的奉献,阅读高级的代码,在阅读高级的代码过程中,要考虑到应该阅读什么样的代码以及如何阅读高级代码。最后,也是很重要的是,要主要了解更多的编程设计模式和编程原理。

建立一个实质性的项目

  • 从不同的视角,端点功能触发, 构建具有独特性且能展示开发人员创造力的应用

    • web后端框架 -了解如何构建框架
    • 利用主要使用的编程语言构建一个程序包,并在多个项目中使用
  • 围绕自己超级感兴趣的事物构建一个更大的项目
  • 构建一个完全超乎你当前理解范围的事物

向开源做贡献

  • 构建自己的开源软件包,应用程序
  • 向现有的代码库贡献代码

开源软件包

  • 构建自己的开源软件包,要确保不是来自某个教程,是真正想发布给别人的东西

记录创作过程

  • 记录创建的原因以及思考过程
  • 从新的角度思考问题并获得新的见解

别人的代码库

  • 查看GitHub上流行软件包和插件的代码库,很可能这些软件包中含有很多未解决的问题
  • 首先仔细阅读代码库制定的代码贡献指南,即README.md文件,然后开始解决问题,进一步添加一些实用的功能:

    • 证明自己能够遵循编程准则
    • 尽快成为开源社区的一员
    • 熟练掌握分叉,拉取请求和提交
    • 了解社区维护的软件包,有机会采用一些更好的编程实践

阅读高级代码

  • 努力理解代码,并和自己的代码进行比较,设法寻找可以改善自己的实现的模式,同时记录下所有能够提高自己工作流程的技术细节
  • 可以从社区寻找开源项目,阅读并理解代码
  • 在阅读其他开发人员的代码时,尽量将遇到的问题向开发者提出来,如果有人能够回答你的问题,就更好了,你需要让他们知道你在努力理解高级代码,请求他们回答你的问题

应该阅读什么代码

阅读你真正用得着的代码
  • 阅读那些你已经在使用的插件或者库文件源码
  • 为阅读的代码添加注释,文档
阅读印象深刻的代码
  • 遇到的印象深刻的项目
  • 了解项目所基于的开源技术
阅读你尊敬的大师写出的代码
  • 关注那些优秀的程序员
阅读给你带来灵感的代码
  • 在初期选择一个小项目进行阅读,这样可以关注细节,学习到更多知识

如何阅读源码

先看大框架
  • 在宏观层面上熟悉代码是如何实现的(README.md), 项目的网站,教程,文档
  • 大致浏览项目的结构
  • 注意项目的文件结构
  • 目标:

    • 熟悉源代码
    • 找出哪些文件包含,请求,加载其他文件
    • 大部分代码在哪里
    • 命名空间以及相关性质
记录阅读心得
  • 当开始理解程序流时,为代码添加注释,记录你的假设和结论
  • 随着理解的进展,删除无关紧要的注释
边阅读边测试
  • 当阅读别人代码时,测试是最佳理解代码程序流的方式:记录了代码应该完成的任务
  • 在阅读时,试着让测试套件成功运行
  • 这样确保开发环境配置恰当,在进行更改优化时更加得心应手
亲自动手做
  • 为代码的实现添加或者更改逻辑但不要破坏代码
  • 尝试给代码中添加功能
  • 设置项目范围的日志记录

了解更多的编程设计模式和原理

  • 仔细阅读每个模型的定义
  • 搜索学习每个模型的示例
  • 快速阅读设计模式和原理
相关文章
|
开发框架 数据库 数据安全/隐私保护
FastAdmin框架实现数据表的增删改查
FastAdmin框架实现数据表的增删改查
1087 0
|
机器学习/深度学习 人工智能 TensorFlow
倚天产品介绍|倚天性能优化—YCL AI计算库在resnet50上的优化
Yitian710 作为平头哥第一代ARM通用芯片,在AI场景与X86相比,软件生态与推理性能都存在一定的短板,本文旨在通过倚天AI计算库的优化,打造适合ARM架构的软件平台,提升倚天性能
Jmeter系列(55)- 详解 Throughput Controller 吞吐量控制器
Jmeter系列(55)- 详解 Throughput Controller 吞吐量控制器
409 0
Jmeter系列(55)- 详解 Throughput Controller 吞吐量控制器
|
弹性计算 监控 大数据
云计算中的弹性伸缩:原理与实践
云计算中的弹性伸缩:原理与实践
818 99
|
存储 自然语言处理 算法
一文梳理有效提升RAG效果的方法
本文会先介绍几篇关于RAG优化的论文,再记录一些常见的RAG工程实践经验。
|
缓存 负载均衡 应用服务中间件
Nginx入门 -- 理解Nginx基础概念:连接(Connection)
Nginx入门 -- 理解Nginx基础概念:连接(Connection)
373 4
|
安全 API 开发工具
开发api数据接口的工作步骤
本文概述了使用Python的Flask框架开发简单API数据接口的基本步骤。首先,需明确API提供的数据及其来源,确保数据的真实可靠。其次,选择合适的开发工具和技术栈,如Python结合Flask,并安装所需环境。编写代码时,应导入必要模块、创建应用实例、定义数据、设计路由及处理函数,并考虑错误处理和日志记录。测试阶段,在本地启动服务器并使用工具验证功能和性能。最后,选择合适平台部署API,并确保其稳定性和安全性。在整个过程中,需注重数据安全、代码质量及系统性能优化。
|
数据挖掘
虎扑论坛数据分析
虎扑论坛数据分析
|
Dubbo Java 关系型数据库
51-微服务技术栈(高级):微服务网关Soul(入门运行Soul)
Soul 是基于 WebFlux 实现的响应式的 API 网关,具有异步、高性能、跨语言等特点。 Git地址:https://github.com/Dromara/soul 运行环境: • MySQL 5.* • JDK 1.8+ • MAVEN 3.2.* • Git 更多原理性知识可以参考官网API:https://dromara.org/zh-cn/docs/soul/induction.html
502 0
|
机器学习/深度学习 存储 数据可视化
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩(三)
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩(三)
570 0
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩(三)