×

Loading...

@Vancouver

Topic

This topic has been archived. It cannot be replied.
  • 工作学习 / 事业工作 / 孩子周末说了一个困惑,我也看过他的程序,有一个问题就是看起来不像是专业程序员写的。我自己从来没有做过程序员,想请教大家一下如何把程序写得像是专家水平的?举个例子,就是不要直接使用系统自带的数据类型,所有数据类型都自定义。
    • 蛤?
      • 我没有做过现代编程,还是刚毕业时候的经验呢。我想说的意思就是把所有系统的东西都包一层再用。包的层数越多,越像专业程序。
        • 可能 40 年前写个什么东西都要手工跨几个平台才需要这么干吧,现代程序设计理念一般正好相反。
          • 另外,他的思路比较普通,不会搞那种奇思怪想。能解决问题,但是一看就懂。
            • 蛤???? 这就是我下面说的好 code -- 我喜欢 +1
              • “You good”
            • 如果是商用系统,是不是好 code 可以看 unit test -- 用越少的 unit tests 可以 cover 越多的商业逻辑,说明程序设计和 coding 都不错。如果业务人员都能轻松读懂 unit tests 并说“写程序不难啊,我都看得明白” --- 这是好 code
              • 语句尽量简洁、结构与逻辑清晰....码量还不多甚至很少,看似简单易懂的背后蕴含着丰富经验与前瞻考虑....这就是好code
          • 现代如此 😂 那么起亚程序设计理念如何呢
      • 记事本手工编写大部分代码,代码风格统一,不用太多注释,执行的关键点上,使用相关语言优势功能点实现,代码简练,修改他人代码时,能自由切换自有风格或他人风格,最重要一点,高手一读就懂,菜鸟一堆问题
    • 注释写的多,写的有文采,就是专业程序员的调调 +1
      • 现代程序都没有注释。 +5
        • Hyundai的事我不熟,棒子写程序就是东一棒槌,西一棒槌,没注释也能申请非物质文化遗产
    • 看他要写的是什么程序吧 --- 一般来说,top down 下来,写得越简单,越象英语大白话,人人都能看得懂的,才是好 code。 +2
    • 程序有多种不同语言/风格,你要说娃所用的是啥语言/编程工具?这样才好讨论,否则太笼统又没实例,无从说起…所谓“写得像是专家水平的”也是挺笼统的,若说是纯手写还好,如是用工具生成的代码,若不拿已完成的整个系统来看,也无从说起… +1
    • 无类型,兰布达,匈牙利小驼峰
      • 看你说这些行话,肯定是专家
    • You may post a sample program. I can provide my comments.
      • 谢谢,等下次回来我看看能否摘一段。
    • 尽量用工具生成。
      • 求快anyway满足功能要求可以尽量用工具,而求表现编程功力/境界,得手写.....
        • 尽量用工具生成,就是因为工具生成的代码是符合规范的,最好能做到80%的都能生成。用工具本身也是很讲究的。另外20%的核心逻辑还是手写。不要把编程神秘化,表现编程功力不在于Code,而在于设计思路。
          • refactoring tool 能帮你规范你的代码;目前“代码生成”工具往往是基于 AI 的,如 github copilot,训练模型的代码库和产生的 code 从代码规范角度来说,不见得是很好的代码 --- 需要经验来甄选
    • code quality measurement: WTFs/min +1

      ​​​​​​​

      • 这个我以前就看过,挺有帮助的。如何编写无法维护的代码==》 +1
        • 写得太有意思了
    • 这个容易,现在不管啥语言都有大量的open source, 挑个名头最大的,打开看看就有数了。 +2
    • 现在都是框架,每种框架有自己的风格,去github 下载些open source的应用看看。不过感觉很多大牛的代码有点过于繁琐,不太懂是有必要搞那么多结构套结构吗 +1
    • 不知道你的“ 所有数据类型都自定义”是什么意思, +1
      什么都自己定义,让别人怎么读你的code啊。上面有人说了代码越简单越好,除非你的project有什么特殊要求,比如说对performance要求特高。写code要遵循oop,至少SOLID和一些基本的design pattern要非常熟悉。很多的IDE都有sonarlint的plugin,对于写规范的code很有帮助
    • 楼上都是写code的专业从业人员吧?从一个用户角度,让我用简单易懂的话来和你解释:

      写程序就犹如孩子回答问题一样,并不是一句句子越长越深奥越像受过超高等教育的人口中出来的就越好。

      回答问题要点就是:确切回答提问者提出的所有问题,简单明了,言必有中。

      写code同理。

    • 所有数据类型都自定义,是不可取的。将来等孩子经过磨练后,成为专业程序员,好坏不论,写出来的自然就像专业程序员。