The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
yuankui

Go 语言的自省能力是不是很弱?

  •  2
     
  •   yuankui · Jan 6, 2016 · 3928 views
    This topic created in 3953 days ago, the information mentioned may be changed or developed.
    这么一来,设计一些框架感觉难度好高.

    要设计像 rails 这样灵活的一个框架简直不可能了?

    我是不是不应该有这样的想法?
    28 replies  •  2016-02-19 09:14:37 +08:00
    ixiaohei
    ixiaohei
    Jan 6, 2016
    1
    不知所云啊
    sophymax
    sophymax
    Jan 6, 2016
    2
    编译型的语言做自省这个事情,有可能是选错了方案
    eric
    eric
    Jan 6, 2016
    3
    你确定要用一个强类型的语言实现 Rails 级别的灵活性?像 `Time.now + 1.day` 这种写法如果直接 port 到 Go 根本过不了编译器这关。
    firefox12
    firefox12
    Jan 6, 2016❤️8
    4
    你不知道 动态一时爽,重构火葬场吗?
    itfanr
    itfanr
    Jan 6, 2016
    5
    @firefox12 哈哈!!!
    500miles
    500miles
    Jan 6, 2016
    6
    自省什么鬼....

    反射吗? 还是和 反射 不太一样的另一种东西 . ..
    lightening
    lightening
    Jan 6, 2016
    7
    @500miles 就是反射,翻译不同。
    nareix
    nareix
    Jan 6, 2016
    8
    请使用 go generate
    loading
    loading
    Jan 6, 2016 via Android❤️1
    9
    框架不是设计出来的,是实际项目做的过程中,剥离出来的,你路没走对。

    东西都没做过就谈写框架?
    qian19876025
    qian19876025
    Jan 6, 2016
    10
    看球不懂 什么是反射? 什么是自省
    hqdmy
    hqdmy
    Jan 6, 2016
    11
    楼主解释一下什么叫自省能力?学习一下
    firemiles
    firemiles
    Jan 6, 2016
    12
    @lightening 我一直理解的自省和反射是不同的功能,自省只有查看属性功能,反射还能修改属性。
    firemiles
    firemiles
    Jan 6, 2016
    13
    自省是 inspect ,反射是 reflect
    mcfog
    mcfog
    Jan 6, 2016
    14
    @firemiles

    自省是 introspection 吧
    firemiles
    firemiles
    Jan 6, 2016
    15
    @mcfog 我看的是 python 的自省模块叫 inspect ,可能不是很正式的叫法。
    aisk
    aisk
    Jan 6, 2016
    16
    不弱,但是语法太蛋疼。
    KentY
    KentY
    Jan 6, 2016
    17
    @firefox12 "动态一时爽,重构火葬场" 这句翻译成英语应该怎么说才妙?
    mfaner
    mfaner
    Jan 6, 2016
    18
    java 里面 introspection 都叫内省
    zwy
    zwy
    Jan 6, 2016
    19
    楼上各位说的自省,反射
    是不是指 meta-programming ?
    如果是的话,静态语言的这类能力非常弱, 不要指望了
    angelface
    angelface
    Jan 6, 2016
    20
    go1.5 bootstrap 以后应该会改善多了, 静态语言也可以啊, 只是程度问题。 不过要达到 ruby 的程度,不太现实, 这是一个语言设计时的调调决定的。
    assassinpig
    assassinpig
    Jan 6, 2016
    21
    dynamic makes you holy good then all your famliy will die when reflection happens later
    @KentY 随手提供了下素材
    lightening
    lightening
    Jan 7, 2016
    22
    @firemiles 我好像是被误导了,以前看哪本 Python 书把 reflection 翻译成自省了……
    KentY
    KentY
    Jan 7, 2016
    23
    @assassinpig 我觉得不够妙, 至少不如中文这个那么有意思, 还押韵... :)
    重构也不是 reflection, 是 refactory 吧
    mengzhuo
    mengzhuo
    Jan 7, 2016
    24
    有没有好好看入门的书,怎么会没有自省?!

    reflect 可以检查 struct 、指针
    runtime 可以检查运行状态,执行栈

    楼主你还要什么?!
    njutree
    njutree
    Jan 7, 2016
    25
    @KentY dynamic makes you shuangbility until Refactoring is coming !
    repus911
    repus911
    Jan 7, 2016
    26
    动态语言重构怎么了 你们没有单元测试么
    smalltalk
    smalltalk
    Feb 19, 2016
    27
    @repus911 静态语言改一处,所有使用的地方,都会自动改。
    个人觉得,对于没有外部兼容性要求的项目,单元测试真没意义。 对于我这种,编写边重构的人,单元测试执行一次就过时了。
    smalltalk
    smalltalk
    Feb 19, 2016
    28
    单元测试是一种 adhoc 说明规格,虽然强大,但大部分时间不必要且不充分。依赖于单元测试,不如依赖于静态语言和集成测试。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5044 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 07:59 · PVG 15:59 · LAX 23:59 · JFK 02:59
    ♥ Do have faith in what you're doing.