如何爱上写项目、写好项目,不妨看看我的做法

开篇

爱上写项目真的很简单!在大学期间的我,其实不能说不爱写项目,但是总是写出屎山代码、写出自己都不愿维护的代码。我写过很多项目包括尚硅谷的、黑马的、微信小程序的、接单的。但是这些项目都有一些共同点!再次看它我不愿维护啊!当我项目越写越多,我会发现项目就像自己的孩子、自己的游戏角色,你要会打扮它,给它变强、变帅气,你才会越来越喜欢上它,就跟游戏一样,你也不喜欢你的游戏人物又丑又垃圾吧。

拥有并打扮一下自己的 Github

相信有很大部分人的 Github 是没有个人简介的、也没有头像。是个二维码头像,我以前也是这样,每次看见这个头像我都百感交集啊,我根本不想碰它。

我一开始荒废的 Github 是这样的:

image-20240510092457155.png

经过我打扮的 Github (https://github.com/lhccong):

image-20240510092548802.png
一个好的 Github 主页不仅能吸引面试官和小伙伴们的兴趣,还能提高自己的编程兴趣。每次看见自己的主页又能多一个项目、又多了 star 数、关注。心里对开发项目的兴趣又高了几分。

关于主页如何打扮,只需要创建一个跟自己名字一样的仓库,里面写一个 README.md 就可以显示在主页啦!是不是十分简单又便捷,至于具体的样式可以参考市面上优秀的作者:程序员鱼皮(鱼总🐟)直接 Copy 完事 随便改改参数。

给新项目取个好名字、搞个好图标

像我写项目有个习惯,我不喜欢一上来就开始写项目,我喜欢先配合 GPT 给我的项目取个好听的名字🔥,我经常是这样干的,比如说我的微狗、短链狗、SQL 慢镜 也是有问过 GPT 的意见。

至于好图标,我是通过鱼聪明(https://www.yucongming.com/app/draw)生成的,之前白嫖到的鱼毛来进行图标生成,给大家看看我的几个图标吧。

在这里插入图片描述
在这里插入图片描述

好的图标能让别人更加的对你的项目好奇,也会提高你自己的兴趣喔。

将大提交改成小提交

这句话是什么意思呢,之前的我是每次写完一大堆代码,再一次性提交上去。这样的写法会导致项目十分难以维护,你根本都不知道自己一大段提交做了什么,到后面你自己的代码就不想看了,我的做法是什么呢?我将每次的小功能、小代码都弄成一次提交,最后统一的进行 push ,这样当你自己或者别人查看你的代码时,都会清楚明白你这次改动做了什么。举个例子:就好像我前段时间学习的 yu-rpc,我自己的提交就有一百多次。

image-20240510094446449.png

我经常用的提交格式: 新增功能时用 feat 、 修改代码时用 fix 、修改、新增文档时用 docs

给代码穿好衣服

相信大家也是很讨厌写注释,但是写注释不仅能让别人能懂你的代码,更重要是自己在阅读代码的时候能更好的快速回顾自己的代码是干了什么,能帮助自己快速的维护,现在都是 AI 时代,我自己写代码的时候对于普通的代码我都会使用 AI(CodeGeex)来进行注释生成、比较特殊的代码我会自己进行注释修改。

image-20240510095442156.png

不要忽略提交预警

相信大家在提交的时候会看见自己的代码有很多黄色波浪线、提交的时候还会弹出框来预警:

image-20240510095626960.png

我推荐大家先尝试将这些预警修复,每当我看见一个项目有十分多黄色波浪线时,我的代码强迫症就会出现(现实我是没有强迫症的),现在的我总喜欢一个一个将黄色修复,这样下次写起来也会让自己的代码更加规范、更加美观。

不妨写个好看的 README.md

一个好看的项目介绍文档能吸引别人注意力、能让人家更想了解你的项目。可以参考别人开源项目的 README.md 直接 Copy!稍作修改就能成为自己项目的介绍啦~大家可以赶快去上手试一下,在介绍中可以加入自己的项目截图、项目技术栈喔,附上我的一个项目介绍:

在这里插入图片描述

学习好项目

我现在比较喜欢学习别人的优秀项目,比如 Sa-Token 、MyBatis、JustAuth ,参考着市面上的开源项目我也写出了:

1)SQL 慢镜:https://github.com/lhccong/sql-slow-mirror

2)OneAuth:https://github.com/lhccong/OneAuth

3)Switch-HTTP:https://github.com/lhccong/switch-http

4)AsyncX:https://github.com/lhccong/AsyncX

觉得写的还不错的代码可以给我一个免费的小星星⭐⭐喔

那这些项目都从哪发现的呢?我有以下几个渠道:

1)直接 Github 上搜索 Java 项目高 Star 的开源项目。

2)在 Gitee 上有一个 GVP 项目,最有价值开源项目选择 Java 类型的来学习。

3)查看技术博主推的一些开源学习项目。

坚持自己的知识输出

当我每次发帖子都会发现,我不仅分享了知识,我还加深了自己对知识的理解,对于知识的加深更加提高了我对代码的喜欢,我喜欢在星球上分享自己学习到的知识、在掘金、CSDN 有时也会一起分享,看到大家给我点赞也能满足自己的一点小小虚荣心吧哈哈哈。

给大家分享下我的掘金跟 CSDN

掘金🛫:https://juejin.cn/user/1146154496301956/posts

CSDN🔥:https://blog.csdn.net/LHCong_

以上就是我的分享啦~感谢大家看到最后,我是聪ζ希望可以跟大家一起学习,我的 Github:https://github.com/lhccong,如果里面有你感兴趣的项目不妨给我点个星星⭐和关注🔥,未来我还会持续写新的好玩的小项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/323741.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五、Redis五种常用数据结构-SET

Redis的Set结构存储的数据和Java中的HashSet类似,都是无序且不重复的。其底层的数据结构有两种,一是当value为整数时,且数据量不大时采用intset来存储。其他情况使用dict字典存储。集合中最多存储232-1(40多亿)个数据。 1、常用命令 sadd k…

PyTorch 图像篇

计算机视觉技术是一门包括计算机科学与工程、神经生理学、物理学、信号处理、认知科学、应用数学与统计等多学科的综合性科学技术, 是人工智能的一个重要分支, 目前在智能安防、自动驾驶汽车、医疗保健、生成制造等领域具有重要的应用价值。 计算机视觉…

Python | Leetcode Python题解之第75题颜色分类

题目&#xff1a; 题解&#xff1a; class Solution:def sortColors(self, nums: List[int]) -> None:n len(nums)p0, p2 0, n - 1i 0while i < p2:while i < p2 and nums[i] 2:nums[i], nums[p2] nums[p2], nums[i]p2 - 1if nums[i] 0:nums[i], nums[p0] num…

C++数据结构——AVL树

前言&#xff1a;本篇文章将紧随二叉搜索树的节奏&#xff0c;分享一个新的数据结构——AVL树。 目录 一.AVL树概念 二.AVL树插入规则 三.AVL树实现 1.基本框架 2.插入 3.旋转 1&#xff09;左\右单旋 2&#xff09;左右/右左双旋 4.遍历 5.求树高度 6.判断平衡 7.…

图片过大怎么处理变小?在线编辑图片工具推荐

在各种平台进行图片上传时&#xff0c;经常会遇到由于图片过大而无法成功上传的问题&#xff0c;为了顺利进行下一步操作&#xff0c;我们需要将图片进行缩小处理&#xff0c;通常情况下&#xff0c;我们可以使用各种软件工具来对图片进行缩小&#xff0c;如何快速有效地调整图…

Babylon.js 7.0开发入门教程

Babylon.js 是一个功能强大的开源 3D 引擎&#xff0c;能够使用 JavaScript 渲染交互式 3D 和 2D 图形。它是为 Web 甚至 VR 创建游戏、演示、可视化和其他 3D 应用程序的绝佳选择。Babylon.js最新版本是7.0。 Babylon.js 是免费、开源和跨平台的&#xff0c;是 Unity 和 Unre…

软件开发故事 - 我对 CTO 撒谎并挽救了项目

原文&#xff1a;GrumpyOldDev - 2024.04.18 这是几年前的事情了。还记得在我职业生涯的初期&#xff0c;父亲曾告诉我&#xff0c;做好工作往往意味着要在上司的阻碍下做好需要做的事情。他的意思是&#xff0c;你可以让上司成功并感到快乐&#xff1b;也可以让上司做每一个决…

面试算法之哈希专题

赎金信 class Solution { public:bool canConstruct(string ransomNote, string magazine) {// 小写字母int r_cnt[26];int m_cnt[26];for(int i 0; i< magazine.size(); i) {m_cnt[magazine[i]-a]; // 统计}// 对比for(int i 0; i< ransomNote.size(); i) {if(m_cnt[r…

树与二叉树之间的转换

树转化成二叉树&#xff1a;兄弟相连留长子 1.加线&#xff1a;在兄弟之间加一条线 2.抹线&#xff1a;对每个结点&#xff0c;除了其左孩子外&#xff0c;去除其与其余孩子之间的关系 3.旋转&#xff1a;以树的根结点为轴心&#xff0c;将整树顺时针转45 二叉树转化成为树…

Day65:代码随想录训练营总结

两个月的算法训练营之旅圆满落幕&#xff0c;回首这段时光&#xff0c;我深感自己错过了许多早日成长的机会&#xff0c;如今不禁懊悔没有更早地报名参与。 这段充实的日子里&#xff0c;我遵循着训练营精心设计的计划&#xff0c;攻克了上百道力扣题目。从最初对编程语法的生…

react18【实战】tab切换,纯前端列表排序(含 lodash 和 classnames 的安装和使用)

技术要点 动态样式 className{tabItem ${currentType item.value && "active"}}安装 lodash npm i --save lodash使用 lodash 对对象数组排序&#xff08;不会改变源数组&#xff09; _.orderBy(dataList, "readNum", "desc")src\De…

如何正确使用防静电擦拭纸以确保产品质量

在现代工业生产中&#xff0c;防静电擦拭纸扮演着至关重要的角色&#xff0c;它们被广泛应用于各种电子产品、精密仪器以及其他对静电敏感的领域。然而&#xff0c;要想确保防静电擦拭纸发挥最佳效果&#xff0c;正确的使用方法至关重要。下面优斯特将介绍如何正确使用防静电擦…

调试代码问题汇总

1.最常见的就是数据库密码不对。根据调试视频将你的数据库密码设置正确&#xff0c;数据库密码是数字的优先直接连如果不成功可以加个双引号或者单引号。 提示&#xff1a;java.sql.SQLException: Access denied for user rootlocalhost (using password: YES) 2.原本配置好的…

什么是HTTP/2?

HTTP/2&#xff08;原名HTTP 2.0&#xff09;即超文本传输协议第二版&#xff0c;使用于万维网。HTTP/2主要基于SPDY协议&#xff0c;通过对HTTP头字段进行数据压缩、对数据传输采用多路复用和增加服务端推送等举措&#xff0c;来减少网络延迟&#xff0c;提高客户端的页面加载…

C++ -- 函数重载 、引用、 内联函数、auto、基于范围的for循环、指针空值nullptr

目录 1.函数重载 1.1函数重载: 1.2函数重载需要注意&#xff1a; 1.3函数重载的一些特殊情况 1.4为什么C语言不支持函数重载&#xff0c;C支持函数重载&#xff1f;底层逻辑是&#xff1f; 2.引用 2.1 引用特性 2.2 常引用 2.3 权限问题&#xff08;权限放大&#xff0c;…

QT:QT与操作系统

文章目录 信号槽与事件QT多线程概述原理完成倒计时程序 UDP回显服务器服务端客户端 信号槽与事件 在之前的信号槽中&#xff0c;已经有了一个基本的认识&#xff0c;那么对于QT中事件的理解其实就非常的类似&#xff0c;当用户进行某种操作的时候&#xff0c;就会触发事件&…

【洛谷】动态规划之最长公共子序列

前言&#xff1a; 本系列目的是记录日常所刷的题&#xff0c;有的是自己想出来的题&#xff0c;有的是看了大佬题解后想明白的题 题目 P1439 【模板】最长公共子序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前提&#xff1a; 两个排列都是1到n的排列&#xff0c;说…

linux安装 mysql

环境&#xff1a;centOS8 一、安装 1 安装wget库 sudo yum -y install wget 2. 安装 mysql 换yum源 亲测成功&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 换yum源 1.下载对应版本的repo文件 wget -O CentOS-Base.repo http://mirrors…

ESLint: Unexpected ‘debugger‘ statement.(no-debugger)(debugger报红)

ESLint: Unexpected debugger statement.(no-debugger) 解决办法&#xff1a; 找到.eslintrc.js文件中rules的no-debugger更改为0即可

200-500人规模工厂网络方案(中小企业网络)

一、方案概述 工厂一般有单独的弱电房&#xff0c;类似这种 里面采用的方案如下&#xff1a; 主要考虑有线、无线、财务、办公、访客等业务&#xff0c;便于维护管理和后续扩容 还需要 Wi-Fi覆盖零死角高速率&#xff0c;工作不卡顿 同时考虑AV反病毒、IPS入侵防御、用户准…