开发者

Wide Method Call VB.NET [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.

Want to improve this question? Add details and clarify the problem by editing this post.

Closed 4 years ago.

开发者_JS百科 Improve this question

I've just written this:

ldb.Update(emp.Code,emp.number, "text", String.Empty, "EMP", emp.scheme, emp.status, emp.tod, emp.timestamp, emp.Code, emp.oldfrmd)

Its far to wide! How can I shorten this method call? The problem is this isn't my method, so I can't edit it.


It depends on what your concern is:

  • Too many parameters? Can't really change that without changing the method, although you could introduce a proxying method containing fewer parameters, where each parameter may map to several of the original ones. It looks like you might want to make this a method on whatever the type of emp is, but it's hard to know without more information.
  • Just too wide on the screen? Use line continuations:

    ldb.Update(emp.Code, emp.number, "text", String.Empty, "EMP", _
               emp.scheme, emp.status, emp.tod, emp.timestamp, _
               emp.Code, emp.oldfrmd)
    

    (IIRC the "_" isn't actually needed in VB10.)

  • Too many characters? Introduce some local variables, potentially, shortening the eventual call to something like:

    ldb.Update(code, number, "text", "", "EMP", scheme, status, _
               tod, timestamp, code, oldfrmd)
    

    (Although your overall code will be bigger, of course.)


Since you can't change the method signature, you must really be passing all those fields of emp into it. I would tend to write my own function (pardon my terribly rusty VB; I'm sure there's something wrong with this):

updateLdb(Employee e)

which simply called ldb's function and did nothing more. Using a single letter for a variable name is generally a bad idea, but in this case it saves your line 16 characters, and in a one-line function, "e" isn't particularly less informative than "emp". As Jon says if you move this function into the Employee class, you can get rid of another 16 characters - and it does appear to really belong there.

I would not use "e" as a variable or parameter name in any function that is longer than one or two lines, but in that small a scope, I think you can get away with it without significantly sacrificing readability.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜