V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GiantHard  ›  全部回复第 1 页 / 共 19 页
回复总数  379
1  2  3  4  5  6  7  8  9  10 ... 19  
> 所以我感觉困惑的大概就是,我这个 visitor 的实现思路错在了哪里?

我认为你的实现没错,在实践中也存在类似的设计 https://learn.microsoft.com/en-us/dotnet/api/microsoft.codeanalysis.csharp.csharpsyntaxvisitor-1?view=roslyn-dotnet-4.9.0

> 为什么几乎清一色的所有 visitor 的代码实现都是返回 void 方法并且通过副作用修改全局变量来储存返回计算结果的?这样做是为了什么呢?

我认为是否使用「副作用」属于开发者的个人习惯甚至是编程语言的风格,比如 https://refactoringguru.cn/design-patterns/visitor/rust/example 中 Rust 实现的 Visitor 中,visit 函数有返回值,但是用 C++ 实现 https://refactoringguru.cn/design-patterns/visitor/cpp/example 的 Visitor 就没有返回值。

如果开发者经常使用的编程语言鼓励可变状态,那么他大概率就会用副作用实现 Visitor 模式中的计算;如果开发者更认同不可变状态并且使用的编程语言也鼓励不可变状态,那么他大概率会采用使用返回值的 Visitor 模式。
19 天前
回复了 moyuman 创建的主题 程序员 最“流畅”的终端模拟器是什么?
@lecia #34 我目前的解决方案是 kitty 搭配 `zellij attach -c session_name`
24 天前
回复了 chengzc 创建的主题 NAS 新手体验 NAS 选择
@chengzc #10 长时间运行,电池肯定会坏的,建议去了解一下换电池的价格,并定期检查电池的健康度,一旦电池快撑不住了就换新电池,避免意外断电造成数据损坏。
24 天前
回复了 chengzc 创建的主题 NAS 新手体验 NAS 选择
不过,我现在换成了一台 N100 准系统装飞牛云,笔记本拆下来的两块固态一块做飞牛系统盘,一块用作数据盘。总共花费 500 块。

https://i.imgur.com/tmuynKq.png
24 天前
回复了 chengzc 创建的主题 NAS 新手体验 NAS 选择
笔记本其实挺好的,自带 UPS 。我的笔记本 NAS 跑了 4 年多,注意一下电池健康度、避免掉电关机就行。然后就是要做好重要数据异地备份。
31 天前
回复了 victimsss 创建的主题 程序员 越来越讨厌 nodejs 的版本管理机制
JS 跟时间相关的 API 确实太弱了,可能等 Temporal.Duration 类型普及了,就不会有库用 number 表示时长了。

https://tc39.es/proposal-temporal/docs/duration.html
79 天前
回复了 xiaozhu317 创建的主题 输入法 后悔学双拼了
熟悉一款新的输入法并养成肌肉记忆需要大量的练习,我的方法是找打字练习网站打白话文,很容易就可以练出手感。

不过这样做的代价就是,双拼输入法的肌肉记忆会替代掉全拼的肌肉记忆,用不支持双拼的设备就会比较麻烦,需要在脑子里默念全拼的字母才能输入。
79 天前
回复了 nowheretoseek 创建的主题 程序员 github 上 issue 被删
@eryajf #14 这种情况我见过,一种原因是提 issue 的人被 GitHub 封号了
> 但 HTML 布局设置仍然让我感到困惑

你需要学习 CSS ,掌握 flexbox 相关的属性

> 这些框架在开发 LLM 产品时各有什么优势? 对于新手来说,哪个框架更容易上手? 有没有针对 LLM 产品开发的特定前端最佳实践?

不太用纠结 React/Vue ,因为这俩都是用来做 UI 数据绑定的,避免你手动根据业务逻辑拼接 HTML 字符串。有 LLM 帮忙写代码的话,Vue/Angular 更简单,因为依赖收集是全自动的,对 LLM 会更加友好一些;当然,React 也适合 LLM 写,因为公开的 React 代码库比较多。
147 天前
回复了 KJH 创建的主题 程序员 感觉.NET 比 Java 难多了
@KJH #24 其实没啥太大区别,3.1 的 API 是 .net 8 的子集。可能有些 Framework (比如,ASP.NET Core ) 的变化比较大,但是很久之前的 MVC 模式都是兼容的
我用 nx, 除了自动建项目,还支持自动升级项目框架版本 https://nx.dev/plugin-registry
172 天前
回复了 hansam47 创建的主题 程序员 数字区的`()=`符号输入速度
用可编程键盘,专门设计一个在字母区的符号层,会方便输入很多;像我箭头函数输入的比较多,就专门给箭头(=>)设计了一个宏按键


https://i.imgur.com/WWZpL4j.png
178 天前
回复了 name1991 创建的主题 Firefox 现在用 firefox 的人还多吗?
日常网上冲浪用 Chromium 内核浏览器,开发调试用 Firefox ,因为 Firefox 抓 performance 很方便。
182 天前
回复了 NoKey 创建的主题 程序员 75 配列键盘写代码方便么
@Seves #26 不用 104 键不代表存在歧视,更不代表键少歧视键多
182 天前
回复了 NoKey 创建的主题 程序员 75 配列键盘写代码方便么
@GiantHard #88 截图出错了,补一张完整的

https://i.imgur.com/PyUJmGS.png
182 天前
回复了 NoKey 创建的主题 程序员 75 配列键盘写代码方便么
只要能够对键盘编程,用 40% 配列也很方便的

https://i.imgur.com/tfzQQgN.png
196 天前
回复了 zy445566 创建的主题 Node.js 小记 Node.js 关于文件描述符的坑
@abelyao #3 是的,C# 的 using 语法非常好使,IDE 支持也很完善,会提示没有使用 using 管理的 disposable 对象,还能自动生成 Disposable 模式代码
196 天前
回复了 zy445566 创建的主题 Node.js 小记 Node.js 关于文件描述符的坑
@CodeCodeStudy #1 js 的相关功能已经在提案中了 https://github.com/tc39/proposal-explicit-resource-management

TS 5.2 也加入了 `using` 关键字来帮助管理需要释放的资源 https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html
295 天前
回复了 GiantHard 创建的主题 Android 搬运一个解锁小新 Pad Pro bootloader 的方法
@yhm2046 #10 遇到这种情况可以从两方面排查:
- 网络问题:建议抓包看看有哪些请求失败了
- 你可能在使用大陆特供版 google play service:建议找个 google play 镜像站,看看最新的 play service 版本号跟设备上的是否一致
301 天前
回复了 bddxg 创建的主题 Linux 想转 manjaro 但是有几个问题困扰着我
> Linux 不太需要清理系统垃圾什么的,最多在安装完包后 pacman -Scc 一下

虽然没啥系统垃圾,但是有卸载残留问题:ls -al $HOME; ls -al ~/.config/
1  2  3  4  5  6  7  8  9  10 ... 19  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1177 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 18:14 · PVG 02:14 · LAX 10:14 · JFK 13:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.