THESDZ

THESDZ

V2EX 第 408987 号会员,加入于 2019-05-05 14:45:18 +08:00
今日活跃度排名 16465
根据 THESDZ 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
THESDZ 最近回复了
2 天前
回复了 lslvxy 创建的主题 程序员 求教内网穿透方案
ECS 有公网 IP 的话,ECS 上可以安装 WireGuard 啊。
通过 ECS 的`WireGuard`访问 PVE 和虚拟机。
找理由压价格罢了,左耳进,右耳出就好了
拿一些大道理压人就好了,比如 人往高处走之类的,原公司限制了发展等等
或者戴高帽,贵公司就是比之前的公司强,所以我才跳之类的。
5 天前
回复了 heavymetals 创建的主题 随想 今天发生了件挫败感很强的事
仅从你的描述来看:
虽然确定思路和架构,但是好像没有封装.
那就导致了,你虽然设计了层次,但是从你的实现中看不出层次,而阅读代码的人(不管是你还是其他人)是不可能看设计的去推导代码的.

我一般这么做:
设计好思路,然后抽象出接口(或者方法),哪些做为主干,哪些作为分支.
主干中的状态如何传递,是走上下文还是传入传出?
枝干部分如何调用(写个代理类统一触发,还是作为回调外部传入)?

写好每一个变量名,每一个方法名,减少非代码注释(避免后续注释没有随着代码变更导致更加难以理解)

实现的代码条理清晰: 主干很简练,一上来就能读懂在干嘛,子模块通过方法名就可以猜测出在干嘛.
拓展性也不错: 封装后只需要改封装部分,枝干部分直接增加回调或代理类中修改.


举个例子,根据 op 的描述:
主干部分为:
1.读取微信的文件列表
2.判断哪些要备份
3.判断重复
4.备份

那就 main

var context = make(map[string]interface{})
func BackupWechatFile(rootPath,backPath string){
files ,err := getFilesByRootpath(rootPath)
if err!=nil {
...
}
for _,file := range files{
isRepeated := judgeFileIfRepeated(file)
if !isRepeated {
err := backUp(file)
if err!=nil{
...
}
}
}
}
自己的服务器都是 Debian 跑容器
公司都用的 centos
程序员本质做的事情是什么?
个人认为无非是:减成本和提效率

再看看你的问题,是不是知道为什么了?
lidarr 之类的一把梭
1.做成一个容器
2.改写容器启动命令或者监听外部.
程序员的真正竞争力,是抽象和信息化实际业务的能力
也就是说
1.是将现实的中问题或者需求,提供可以通过信息化的方式高效解决的方案,
2.落地这个方案.

低代码很难解决第一个问题.
65 天前
回复了 Ufo666 创建的主题 Java 以后安装一个软件是不是可以直接用 docker 啊
开发环境,直接 docker 一把锁,连开发的能力都放在 docker 里面,然后全部连到一个 docker 网络里面,连端口都没必要-p ,美滋滋
电影不需要备份吧?种子备份就好了。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4480 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 06:21 · PVG 14:21 · LAX 23:21 · JFK 02:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.