如何开始自己的第一个项目

2022-03-03 13:16:20 +08:00
 proxytoworld

在逛 v 战的帖子,偶然发现了 @nbndco的 rust 项目 https://github.com/zhuhaow/Specht2/tree/main/core/specht-core/src 大为震撼

我最近想要用 go 开发服务端,C++开发客户端的程序,想请教一下,怎么开始这种几千行的项目

1818 次点击
所在节点    问与答
15 条回复
cmdOptionKana
2022-03-03 13:25:33 +08:00
第一步,选题,确定自己要做一个怎样的项目。
第二步,细化功能,这个软件大概有些什么功能,列个清单。
第三步,写啊写,遇到问题解决问题,google 能解决 99%的问题,剩下的可以上来 V 站问,问具体一点。
proxytoworld
2022-03-03 13:25:41 +08:00
或者对于开发这种几千行的项目,有什么好的建议,总感觉不能很好的组织代码
proxytoworld
2022-03-03 13:26:18 +08:00
@cmdOptionKana 感觉自己对于 像样的 项目结构没有很好的把握,老是担心代码耦合度过高
iyear
2022-03-03 13:28:22 +08:00
我是先做再学,靠迭代开源项目逼自己做,我一开始几百行感觉都驾驭不住,项目结构稀碎。但是因为是开源项目,这么垃圾的结构和代码放出来实在是不好意思,就逼着自己改呗,改着改着其实也没啥。几千行其实稍微写点就到了
Leonard
2022-03-03 13:33:53 +08:00
1.如果你做过别的项目,只是没做过自己的项目,建议先从需求入手,确定需求和原型再开始做,然后才考虑技术上的项目结构之类的问题;
2.如果没有做过任何项目,是真正的“第一个”项目,那建议直接上手,不要考虑自己是不是把握不好,技术上有哪些问题,先上手才是关键的。《游戏设计艺术》里的一句话:”你做的前十个游戏都是垃圾,所以赶紧做掉吧”。
cmdOptionKana
2022-03-03 13:50:23 +08:00
@proxytoworld 先写,一顿操作猛如虎,就是干。

完了再重构,过度抽象的就减少层数,耦合过高的就再套几层。

很多东西是要写完才知道抽象是否适度的,重构一两次,经验就有了。
kop1989smurf
2022-03-03 14:27:06 +08:00
“总感觉不能很好的组织代码”
你都没做你怎么知道“不能很好的组织代码”?

然后这就牵扯到对于开源项目的理解问题。
开源,不意味着你的代码必须到达精妙且令人欣赏的程度。

开源的理由有很多,“展示源代码的逻辑精妙”是其中一个要素或者说理由,但不是必要条件。
qfdk
2022-03-03 16:18:03 +08:00
每天写一点点就来了…… 我的项目 从 spring 全家桶 重构到 nodejs 正在转型到 golang 其实就是模拟了 容器管理
3dwelcome
2022-03-03 16:28:44 +08:00
用什么 C++哦,选择 VUE 或者 React 开发客户端啊,写一遍,可以全平台发布。

你 C++最多移植一两个平台,顶天了。
proxytoworld
2022-03-03 18:16:03 +08:00
@iyear 现在写了 600+行,但是感觉没有写到那种 让人眼前一亮 的代码
proxytoworld
2022-03-03 18:17:32 +08:00
@kop1989smurf 平常也不是开发 没有做完过一个完整的项目(确实也是自己的原因), 对于整个项目结构、开发流程没有很多了解 所以才说 感觉不能很好组织代码
proxytoworld
2022-03-03 18:18:10 +08:00
@qfdk 最近在读一个一千多行的代码 功能类似 希望可以借鉴到一些思想
enchilada2020
2022-03-03 19:10:07 +08:00
好贴收藏感谢一波 后面的大佬们继续跟上不要停
proxytoworld
2022-03-03 23:28:20 +08:00
@3dwelcome 客户端要和底层打交道 没办法只能用 c++
Akitora
2022-03-04 01:34:29 +08:00
可以试着写一个 qq 机器人的后端

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/837670

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX