Mindjet

Mindjet

V2EX 第 381839 号会员,加入于 2019-02-02 15:13:21 +08:00
今日活跃度排名 1059
是否能用微信小程序快速搭建交流社区?
微信  •  Mindjet  •  7 小时 28 分钟前  •  最后回复来自 rostov
9
独立开发者到底是啥意思?
程序员  •  Mindjet  •  10 小时 23 分钟前  •  最后回复来自 Mindjet
44
独立开发者沙龙·周报:组队计划扬帆起航了~
分享发现  •  Mindjet  •  15 天前  •  最后回复来自 Mindjet
8
真正阅读和使用《提问的智慧》
  •  1   
    分享发现  •  Mindjet  •  15 天前  •  最后回复来自 Mindjet
    1
    Mindjet 最近回复了
    9 小时 8 分钟前
    回复了 Mindjet 创建的主题 微信 是否能用微信小程序快速搭建交流社区?
    @herozzm #3
    主要是方便,微信群里的迁移过去基本上是无缝的,传播起来也方便很多,大部分人主要的应用就是微信。
    我也不喜欢微信小程序,但是感觉很多人喜欢。
    9 小时 13 分钟前
    回复了 Mindjet 创建的主题 微信 是否能用微信小程序快速搭建交流社区?
    @gouflv #1
    纯属谣言,社区常常见到,例如下图。
    你说这话给我的感觉就是从上世纪穿越过来的,根本就没用过微信。
    https://i.loli.net/2020/09/27/p4cNK6LQuyGs8zn.jpg
    10 小时 23 分钟前
    回复了 Mindjet 创建的主题 程序员 独立开发者到底是啥意思?
    从点击数来说,大家对此问题还是有点兴趣的。
    @a719031256 #218
    举出反例总是轻而易举,在软件开发这个行当,积累了些经验并写在了书里,除了那些算法什么的,或者其他的用数学证明的,大多数的经验都没有用科学手段去验证,这是个很大的问题。我只零零星星的听别人提到过引用实证研究的事情,但从来没在这些出名的书中见到过。

    《‪软件困局:为什么聪明的程序员会写出糟糕的代码》,好像说的就是这个事情,当然我没有把这本书看完,只是看完前言(序章)后有这种感觉。

    > 软件工程其实并没有多少“工程”的成分,这已经是公开的秘密了。
    > ...
    > 自计算机诞生以来,特别是 20 世纪 60 年代大批软件问世之后,围绕软件的种种问题一直伴随且困扰着从事软件生产和研究的人们。... 在大学里,学生并没有学到在团队中如何编写便于后续维护的软件,他们在大学里完成的软件作业仅达到了课程项目的要求,却与业内软件开发的实际规模和真实复杂度完全脱节 ;另一方面,在工业界,靠自学成长起来的一代聪明的程序员习惯于凭自己的直觉和经验来解决问题,他们相信软件必然会包含 bug,但这些包含了 bug 的软件照样可以带来巨大财富,这些根深蒂固的观念导致工业界缺乏改进软件工程的动力。
    > ...
    > 但是,编写软件却不是这样的。虽然软件被称为工程学科,但它几乎没有工程的特征,即随着时间的推移,在严格的实验基础上建立起一个知识体系。人们自然会问关于工程产品的那些问题:它有多坚固?可以使用多久?什么情况下可能失败?对于软件来说,无论是针对程序的一个部分还是整个软件,这些问题都无法得到可靠的答案。专业许可是大多数工程学科的标志,但这却被软件行业视为潜在的诉讼来源,而不是制定标准的机会。
    > ...
    > 早在 1990 年 11 月,卡内基–梅隆大学的玛丽·肖( Mary Shaw )为《 IEEE 软件》杂志撰写了一篇题为《软件工程学科的前景》的文章,她解释说:“工程依赖于有关技术问题领域的、以实践者可以直接使用的方式编纂的科学知识,从而为实践中常见的问题提供答案。普通的工程师可以用这些知识来更快地解决问题。这样一来,工程部门就可以共享先前的解决方案,而不是总依赖于某个行家的问题解决方案。”
    > ...
    > 她将软件工程与土木工程进行了比较,并指出,“尽管大型土木结构在有历史记载之前就已经建成,但在过去的几个世纪里,它们的设计和建造都是基于理论知识,而不是凭直觉和积累的经验 。”1 我翻阅了美国土木工程师协会的出版物目录,其中尽是有趣的标题,如《水管情况评估》和《寒冷地区路面工程》,我很欣赏在其他工程学科中有这么多的理论知识。

    我感觉之所以会出现这种现象,就是因为软件「工程」太想成为「工程」了,这个领域的很多经验都直接和人相关,而不是跟什么物理化学研究的对象相关,那么研究的方法就应该参考社会科学,而不是工程学甚至是数学。
    @jackrelative #220
    看到你说的那种情况,我猜测有部分人会将读不懂他人的代码,归结到「他人写的烂」上头,实际上阅读他人的代码本来就是个很难的事情。当然,如果遗留代码有文档有测试,风格良好可能会有助于阅读,但不能忽略处理遗留代码本身的难度就很大。
    感觉大部分人都没有指出「房间里的大象」。

    如果看过《代码整洁之道》(豆瓣评分 8.6),就应该理解类似的说法,短函数是非常重要的,作者欣赏的函数是那种只有 2~5 行的,最多不超过 20 行。

    > 函数的第一规则是要短小。第二条规则是还要更短小。我无法证明这个断言。我给不出任何证实了小函数更好的研究结果。我能说的是,近 40 年来,我写过各种不同大小的函数。我写过令人憎恶的长达 3000 行的厌物,也写过许多 100 行到 300 行的函数,我还写过 20 行到 30 行的。经过漫长的试错,经验告诉我,函数就该小。(第 3 章 函数 - 3.1 短小)
    > ...
    > 这个程序中每个函数都只有两行、三行或四行长。每个函数都一目了然。每个函数都只说一件事。而且,每个函数都依序把你带到下一个函数。这就是函数应该达到的短小程度!(第 3 章 函数 - 3.1 短小)

    当然你也能轻松找到很多反例,这只是经验之谈,这个经验既不清晰也不严格,但这的确是部分人的想法,而且还写在书里了。我很欣赏的是这个人能很清楚的看到这一点,不清楚后续有没有实证研究。



    PS:前提就是那个代码是人写的,而不是生成的,如果是的话,那可能是个很「好」的代码。
    20 小时 4 分钟前
    回复了 Mindjet 创建的主题 程序员 独立开发者到底是啥意思?
    感觉还是「独立」,这个词有点太模糊,如果不说清楚是什么独立,可能大家谈的都不是一回事。
    GUI 的信息展示是实时的,CLI 做不到,当然可以加装插件,部分替代 GUI 的功能。
    2020 年 09 月 23 日_19 时 17 分,实测 https://www.jianshu.com/p/a8252bf2a63d 内容正常。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   930 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 17ms · UTC 20:43 · PVG 04:43 · LAX 13:43 · JFK 16:43
    ♥ Do have faith in what you're doing.