由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 大家来解剖个鸵鸟
相关主题
多研究些问题,比如这个网站的建设问题,大家来讨论一下有人用es做nosql吗
借人气问Amazon SimpleDB的事问二爷一个题外话
这次Node把GAE也给干了大家来解剖个鸵鸟 (转载)
Google Cloud Platform for $500 (转载)
相关话题的讨论汇总
话题: 如图话题: methods话题: 页面话题: idatastore话题: __
进入Programming版参与讨论
1 (共1页)
m*****r
发帖数: 298
1
非常老而庞大的一个系统,超过10年,数百万行代码。个人认为有点滥。
目前完全不懂这个系统的数据、控制流。因为本人菜鸟,也不知道怎么下手吃透。
现在首先想知道页面上的东西是怎么存到数据库里面的。
最初是C/S,C是delphi写的。大概2,3年前改成了B/S。
每个页面由近10个文件组成,如图A,dc0007是页面id。
page definition java又含有若干datastore,也是java class。如图b。
每个datastore控制各个element,如宽度,次序,类型等等。大部分东西我都没搞懂。
如图c。
js控制页面的一些action,比如动了某个值,itemChanged就会被调用,调用这个函数
由框架来完成,不是页面。如图d
BO是java,也能控制不少东西,有些跟js是重叠的,比如控制required,往后台传的参
数等,BO和js都能控制。 如图e
service definition定义request和reply参数,结构很简单,reply的参数列表跟
datastore里面的ReplyCols对应。如图f
jsp也是很古老的代码,改成B/S的时候好像不是全新代码。如图g
xml配置各个页面有固定格式。如图h
webcontent下面乱七八糟的东西,如图i
页面跟数据库还有关联,比如图j,k,RT_CARD_STS是表,card_sts_cd,APS_SW等等都
是列名,'Y'是值。
用了tuxedo,debug经常需要看log。
t*****n
发帖数: 4908
2
小case。等你读过1M fortran的时候,你会乞求上天给你一次重生的机会。

【在 m*****r 的大作中提到】
: 非常老而庞大的一个系统,超过10年,数百万行代码。个人认为有点滥。
: 目前完全不懂这个系统的数据、控制流。因为本人菜鸟,也不知道怎么下手吃透。
: 现在首先想知道页面上的东西是怎么存到数据库里面的。
: 最初是C/S,C是delphi写的。大概2,3年前改成了B/S。
: 每个页面由近10个文件组成,如图A,dc0007是页面id。
: page definition java又含有若干datastore,也是java class。如图b。
: 每个datastore控制各个element,如宽度,次序,类型等等。大部分东西我都没搞懂。
: 如图c。
: js控制页面的一些action,比如动了某个值,itemChanged就会被调用,调用这个函数
: 由框架来完成,不是页面。如图d

m*****r
发帖数: 298
3


【在 m*****r 的大作中提到】
: 非常老而庞大的一个系统,超过10年,数百万行代码。个人认为有点滥。
: 目前完全不懂这个系统的数据、控制流。因为本人菜鸟,也不知道怎么下手吃透。
: 现在首先想知道页面上的东西是怎么存到数据库里面的。
: 最初是C/S,C是delphi写的。大概2,3年前改成了B/S。
: 每个页面由近10个文件组成,如图A,dc0007是页面id。
: page definition java又含有若干datastore,也是java class。如图b。
: 每个datastore控制各个element,如宽度,次序,类型等等。大部分东西我都没搞懂。
: 如图c。
: js控制页面的一些action,比如动了某个值,itemChanged就会被调用,调用这个函数
: 由框架来完成,不是页面。如图d

k**********g
发帖数: 989
4
If the IDatastore contain that many methods ( setId__ setSharedDwname__
setColsByColID__ setColValidationTag__ ... ) You can try search for the
class that implements that many methods.
You may need to search for how many such IDatastore implementations exist in
the whole system.
You may also need to find out if these methods are actual method that exist
on the interface, or else they are some kind of dynamic methods.
It seems that someone made a very bloated class, by adding one or more
methods for each piece of that needs to be stored.
See Jeff Atwood on this issue. http://www.codinghorror.com/blog/2009/02/the-ferengi-programmer.html
Also, a number of IDatastore methods seem to be related to columns - a fixed
number of them. I can say this because I notice most of the string splits
have exactly seven separators. This may mean 6, 7 or 8 columns, depending on
how string.split is defined in your programming language.
You can mentally group these column-related variables as if they are Arrays
of Structures (AoS) by converting it from the existing Structures of Array (
SoA). This is a technique for helping one understand how the code is
structured.
Make a list of these column-related variables.
g*****g
发帖数: 34805
5
web应用其实相对容易debug,一个request从前到后通常不会跨过5个类,耦合度低。

【在 m*****r 的大作中提到】
: 非常老而庞大的一个系统,超过10年,数百万行代码。个人认为有点滥。
: 目前完全不懂这个系统的数据、控制流。因为本人菜鸟,也不知道怎么下手吃透。
: 现在首先想知道页面上的东西是怎么存到数据库里面的。
: 最初是C/S,C是delphi写的。大概2,3年前改成了B/S。
: 每个页面由近10个文件组成,如图A,dc0007是页面id。
: page definition java又含有若干datastore,也是java class。如图b。
: 每个datastore控制各个element,如宽度,次序,类型等等。大部分东西我都没搞懂。
: 如图c。
: js控制页面的一些action,比如动了某个值,itemChanged就会被调用,调用这个函数
: 由框架来完成,不是页面。如图d

C**********r
发帖数: 8189
6

曾经有个需要把fortran转成C++的工作把我给拒了。感谢上天。

【在 t*****n 的大作中提到】
: 小case。等你读过1M fortran的时候,你会乞求上天给你一次重生的机会。
c******n
发帖数: 16666
7
我正在做这个。。痛不欲生

【在 C**********r 的大作中提到】
:
: 曾经有个需要把fortran转成C++的工作把我给拒了。感谢上天。

l******t
发帖数: 55733
8

不属实。你这应用太简单了。

【在 g*****g 的大作中提到】
: web应用其实相对容易debug,一个request从前到后通常不会跨过5个类,耦合度低。
m*******l
发帖数: 12782
9
fortran比较简单吧?特别是77, 90,95 以后的比较麻烦
当然77前的F也比较麻烦
话说F有很多前瞻性的特性, 例如语句函数,entry啥的就是现在的函数式语言的什么
lambda, closure之类的前身啊

【在 c******n 的大作中提到】
: 我正在做这个。。痛不欲生
m*******l
发帖数: 12782
10
当然好虫说你这个是系统没有设计好...

【在 l******t 的大作中提到】
:
: 不属实。你这应用太简单了。

相关主题
问二爷一个题外话借人气问Amazon SimpleDB的事
大家来解剖个鸵鸟 (转载)这次Node把GAE也给干了
多研究些问题,比如这个网站的建设问题,大家来讨论一下Google Cloud Platform for $500 (转载)
进入Programming版参与讨论
y****i
发帖数: 12114
11
难道一点文档都没有?
t*****n
发帖数: 4908
12
你需要读懂legacy code,同时还要具备OO架构分析能力和C++编程能力,并具备专业知
识,才能把这件事情做好。100K的工资都算少的。

【在 C**********r 的大作中提到】
:
: 曾经有个需要把fortran转成C++的工作把我给拒了。感谢上天。

t*****n
发帖数: 4908
13
未来的大牛,涅磐重生。

【在 c******n 的大作中提到】
: 我正在做这个。。痛不欲生
k**********g
发帖数: 989
14

悄问∶LZ好像没說過C++哦?
C/S probably means client-server architecture? not C++?

【在 t*****n 的大作中提到】
: 你需要读懂legacy code,同时还要具备OO架构分析能力和C++编程能力,并具备专业知
: 识,才能把这件事情做好。100K的工资都算少的。

t*****n
发帖数: 4908
15
看6楼

【在 k**********g 的大作中提到】
:
: 悄问∶LZ好像没說過C++哦?
: C/S probably means client-server architecture? not C++?

c*******n
发帖数: 442
16
Delphi…… 好怀念啊……
Borland的商业策略太失败,硬是把Pascal搞死了……
不过话说Basic和Pascal两大金字招牌派生出的VB和Delphi好像都混的不咋地……

【在 m*****r 的大作中提到】
: 非常老而庞大的一个系统,超过10年,数百万行代码。个人认为有点滥。
: 目前完全不懂这个系统的数据、控制流。因为本人菜鸟,也不知道怎么下手吃透。
: 现在首先想知道页面上的东西是怎么存到数据库里面的。
: 最初是C/S,C是delphi写的。大概2,3年前改成了B/S。
: 每个页面由近10个文件组成,如图A,dc0007是页面id。
: page definition java又含有若干datastore,也是java class。如图b。
: 每个datastore控制各个element,如宽度,次序,类型等等。大部分东西我都没搞懂。
: 如图c。
: js控制页面的一些action,比如动了某个值,itemChanged就会被调用,调用这个函数
: 由框架来完成,不是页面。如图d

t**********s
发帖数: 2832
17

哈哈。

【在 t*****n 的大作中提到】
: 小case。等你读过1M fortran的时候,你会乞求上天给你一次重生的机会。
t**********s
发帖数: 2832
18

delphi,曾经的最爱呀。。。

【在 m*****r 的大作中提到】
: 非常老而庞大的一个系统,超过10年,数百万行代码。个人认为有点滥。
: 目前完全不懂这个系统的数据、控制流。因为本人菜鸟,也不知道怎么下手吃透。
: 现在首先想知道页面上的东西是怎么存到数据库里面的。
: 最初是C/S,C是delphi写的。大概2,3年前改成了B/S。
: 每个页面由近10个文件组成,如图A,dc0007是页面id。
: page definition java又含有若干datastore,也是java class。如图b。
: 每个datastore控制各个element,如宽度,次序,类型等等。大部分东西我都没搞懂。
: 如图c。
: js控制页面的一些action,比如动了某个值,itemChanged就会被调用,调用这个函数
: 由框架来完成,不是页面。如图d

b**********n
发帖数: 27
19
提醒楼主一点:公司的东西不要随便往网上放,很危险,截屏也不行。
也许现在没人管,但是一旦有人要整你,这是现成的铁证据。
从道理上讲可以争辩这不构成泄密,但是职场根本不讲道理,只讲章程。
j********p
发帖数: 9680
20
这个系统是够乱的.
不过正是因为乱,大家都有事情做了.
所以杂乱无章并不一定是坏事.
相关主题
Google Cloud Platform for $500 (转载)大家来解剖个鸵鸟 (转载)
有人用es做nosql吗多研究些问题,比如这个网站的建设问题,大家来讨论一下
问二爷一个题外话借人气问Amazon SimpleDB的事
进入Programming版参与讨论
j********p
发帖数: 9680
21
楼上提醒的对,公司的文档,代码不要随便往网上放.
要是碰见你们公司跟你不对付的,
那你就危险了.
好在都是国人,不太在乎这个.
m*****r
发帖数: 298
22
IDatastore 里面那一堆set管的是页面form,比如setColsCount(8)就是有8个
element,其中第一个叫individual name,宽度是10,数据长度是50,非required。
这些东西都是控制页面的,并非数据本身。只有setFetchService, setUpdateService
跟数据读写有关。
你提到的其它东西我觉得太高级了,我看不太懂,也不觉得这个系统会用上。
多谢你的指点了。
我最想知道的就是我页面上的文字,菜单选项是怎么存到数据库里面的。

in
exist

【在 k**********g 的大作中提到】
: If the IDatastore contain that many methods ( setId__ setSharedDwname__
: setColsByColID__ setColValidationTag__ ... ) You can try search for the
: class that implements that many methods.
: You may need to search for how many such IDatastore implementations exist in
: the whole system.
: You may also need to find out if these methods are actual method that exist
: on the interface, or else they are some kind of dynamic methods.
: It seems that someone made a very bloated class, by adding one or more
: methods for each piece of that needs to be stored.
: See Jeff Atwood on this issue. http://www.codinghorror.com/blog/2009/02/the-ferengi-programmer.html

m*****r
发帖数: 298
23
谢谢你善意的提醒了,我现在马上就走人了,但东西没有搞懂有一点点不甘心。
稍微冒点风险寻求一下帮助吧,自己实在玩不转。
所以请大家多多帮忙啊。

【在 b**********n 的大作中提到】
: 提醒楼主一点:公司的东西不要随便往网上放,很危险,截屏也不行。
: 也许现在没人管,但是一旦有人要整你,这是现成的铁证据。
: 从道理上讲可以争辩这不构成泄密,但是职场根本不讲道理,只讲章程。

m*****r
发帖数: 298
24
确实够乱,表名列名都能出现在js,java中。
也因此提供了更多职位。。。。但是学不到什么东西。

【在 j********p 的大作中提到】
: 这个系统是够乱的.
: 不过正是因为乱,大家都有事情做了.
: 所以杂乱无章并不一定是坏事.

g******n
发帖数: 253
25
+1

【在 y****i 的大作中提到】
: 难道一点文档都没有?
m*****r
发帖数: 298
26
有文档是面向用户或者ba,qa的,程序员看的没有。
早期的代码还稍微规矩点,有日期开发者姓名模块功能啥的,大概都是10年前的。。。。
现在完全不要求注释,把测试代码过时代码注释掉能运行即可。
有些文件里面注释掉的旧代码比非注释还多。

【在 g******n 的大作中提到】
: +1
m*****r
发帖数: 298
27
看来没有希望搞懂这个系统了。。。。
1 (共1页)
进入Programming版参与讨论
相关主题
多研究些问题,比如这个网站的建设问题,大家来讨论一下有人用es做nosql吗
借人气问Amazon SimpleDB的事问二爷一个题外话
这次Node把GAE也给干了大家来解剖个鸵鸟 (转载)
Google Cloud Platform for $500 (转载)
相关话题的讨论汇总
话题: 如图话题: methods话题: 页面话题: idatastore话题: __