alibabacloud-go-sdk icon indicating copy to clipboard operation
alibabacloud-go-sdk copied to clipboard

从没见过这么难用的官方SDK

Open NicoChenyt opened this issue 2 years ago • 2 comments

想接入钉钉开放平台,结果你们那sdk真的是想给用户使用的吗?所有代码都是自动生成,根本不知道有哪些接口,想通过接口文档找到sdk里的代码都很费劲,调用更费劲

NicoChenyt avatar Feb 16 '23 03:02 NicoChenyt

就是啊,真他妈恶心

zmou avatar Aug 09 '23 03:08 zmou

是不是机器生生成的golang代码啊, 从C翻译过来的? 好恶心的指针用法. 每个对象, 甚至值都是指针, 为了安全使用不会因为空指针而panic, 你的不停的判断nil. 要吐了!!!!!!

        client, err := iot.NewClient(a.config)
	if err != nil {
		return nil, err
	}
	regReq := &iot.RegisterDeviceRequest{
		IotInstanceId: &a.InstanceId,
		ProductKey:    &a.ProductKey,
		DeviceName:    &deviceNum,
		Nickname:      &nickName,
	}
	resp, err := client.RegisterDevice(regReq)
	if err != nil {
		return nil, err
	}
	if resp != nil && resp.Body != nil && resp.Body.Success != nil && !*resp.Body.Success {
		return nil, errors.New("reg device failed")
	}
	info := &DeviceInfo{}
	if resp != nil && resp.Body != nil && resp.Body.Data != nil {
		info.DeviceName = *resp.Body.Data.DeviceName
		info.DeviceSecret = *resp.Body.Data.DeviceSecret
		info.ProductKey = *resp.Body.Data.ProductKey
		info.IotId = *resp.Body.Data.IotId
	}
	return info, nil

pobearm avatar Aug 16 '23 07:08 pobearm

当前钉钉的API文档下方即可生成对应的示例代码,在习惯SDK的命名之后使用应该还是挺方便的。 代码质量的问题 我们正在做生成器优化。

TsinghuaDream avatar Jun 17 '24 07:06 TsinghuaDream