一个刚从 Java 转 Go 的程序员如何看 50W 级别的 PHP 代码

2014-05-30 17:21:24 +08:00
 flowyi
rt.

php用的是yii框架,需要转成Go的,我看着到处都是不知道里面有神马的array的弱类型php代码就想死……
求经验,求指点~ Orz
8765 次点击
所在节点    PHP
34 条回复
georgetso
2014-05-30 23:09:18 +08:00
@jarlyyn 这个是好方法。翻译20W行代码,真心不如维持接口重新实现。
flowyi
2014-05-30 23:25:44 +08:00
@jarlyyn 我也想完全抛弃现有代码照着文档愉快的写代码,但是现实是,没有文档……
当然也可看前端的请求和返回的结果,但是得知道去哪里查数据,数据格式是怎样,那堆json是什么意思,各种特殊情况等等~ 各种问题,还是要看代码才懂的

@pubby 数据部分要转Go。php实现的有性能问题,不仅是语言本身比较慢,算法、结构方面也需要重构。
flowyi
2014-05-30 23:32:08 +08:00
@pubby 至于为什么选择Go?因为公司其他项目已经用Go写了,效果良好吧~ 从我的体验来说,Go用来写服务器还是挺爽的,简洁,强大,很多东西直接看源码就会了。
jarlyyn
2014-05-31 01:04:13 +08:00
@flowyi 不知道你用多少语言写过项目。每个语言都有自己的魔法糖。虽然yii看上去很像ror,但实际用的代码很php,用了不少php特性。
看着代码翻的话。呵呵。
jarlyyn
2014-05-31 01:09:13 +08:00
@flowyi
对go语言不熟,但至少知道他应该是强类型的编译型语言,虽然编译的很快。
首先是yii的基础,也就是components。
yii的理念是lazyload。所有的组建在使用前都是字典array(或者直接是类名的string。)
使用时再实例化该类。用很多语言搞定这个基本蛋疼死。
还有就是import。利用了php的autoload.本质上是和明明空间背道而驰额。用比较重视命名的语言,会哭死吧。
至少让我用python实现我的yii代码,我都很郁闷。
regmach
2014-05-31 04:04:19 +08:00
@jarlyyn 嘿..你也在用Yii吗?
有群吗?交流下
konakona
2014-05-31 04:19:21 +08:00
光PHP就50W行你确定?呵呵
说下这个项目的服务行业。
hitsmaxft
2014-05-31 10:24:13 +08:00
50w 行? 我不信


@jarlyyn Yii 的依赖注入特性, Spring 也能做到, 只是得看实现水平. 另外yii 的 Component 虽然方便, 大量使用后期维护基本是死定了, 这玩意就是个全局接口, 没想清楚怎么用, 跟 全局变量 基本没啥区别.
wulin
2014-05-31 14:07:02 +08:00
50W是算上了yii框架的代码吗....
不要慌,一定是领导热晕了拍脑袋做的决定
jarlyyn
2014-05-31 14:48:01 +08:00
@hitsmaxft 是CComponent,不是applcation的compontent.那个是CApplacitonComponent。
spoonwep
2014-05-31 23:30:23 +08:00
20W也是非常厉害……
flowyi
2014-06-01 19:13:20 +08:00
谢谢各位的回复!
静下心来做吧,目前也只能这样了~
NCE
2014-06-13 10:38:13 +08:00
不要慌,领导是想让你主动辞职而已~

话说50w这个完全不可信……

再就是,Yii那么好,居然让转Go……
NCE
2014-06-13 10:38:28 +08:00
你见过有人说php内存泄露过吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/115083

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX