所以在与他们联系多年后,他们突然打来电话,想知道我是否可以将应用程序更新为.Net.我的初步反应是拒绝,因为我不使用VB.Net.看了一堆关于移植困难等的帖子,我更倾向于拒绝,可以这么说.
不过,在我告诉他们之前,我没有兴趣大致量化所需的努力.我很乐意听到有人做过这样的事情,感受到了多少工作.是吗
>显着低于原来使用的努力?
>比原来使用的努力少一些?
>与原来使用的努力一样吗?
>更多
>还有更多?
如果您实际上已经完成了这样的端口,请您回复.答案不一定要准确,因为我真的只是试图去做这个.我的感觉是,这个努力至少与原来的一样多,如果不是更多的话.但我可能错了感谢任何帮助.
关键是客户了解 – 您必须清楚,他们明白这不是微不足道的;这是你的两个新冒险(特别是如果你是VB.Net的新手)如果他们喜欢你的工作之前,他们可能会很好地给你在他们的镍上学习VB.Net的余地/自由.
阅读一些以前的答案让我提出一些建议(根据30年作为软件开发人员的经验,最后20位作为顾问….)
如果他们提供它,就要付钱.你需要将你的技能带到20世纪;让他们付钱(再次,如果他们同意)他们可能是杂志冲浪,想要“最新的东西”为没有好的原因 – 但也许他们意识到,他们可以延长(你的)应用程序的这个端口的使用寿命.实质上,他们可能会有各种愚蠢的原因,如果他们不雇用你决定这个港口是否是一个好主意.那么你可能对客户关系建设的决定过程表示沮丧;但是,如果他们想这样做,那么它也可能是你的工作.
>采取所有这些mumbo-jumbo re:C#与VB.Net与一粒盐.自从VB.Net / ASPX.net(vs C#)开始以来,我一直在EXCLUSIVELY工作,还没有遇到VB.Net中无法实现的功能.有一些“纯粹主义者”,只是把VB.Net视为玩具.那么我来自于在汇编程序中编写的日子,然后是C,然后是C(你可以抛出Fortran,PL1很好的测量),然后是VB5,然后是6,然后VB.Net …和NOW JAVA for Android.它的所有好运气,每个都有它的优点和缺点.记住,C#和VB.Net本质上只是实现元语言中间件的GUI.你可以写一个TERRIBLE(通过效率或内存使用或你选择的任何指标来衡量)!在C#中编程,在VB.Net中是一个很好的(反之亦然).不要用语言语言好好编程. (… C#是“优”??? Gimme休息.)
>我选择允许Visual Studio做大部分的重量级的首次通过.然后你会经历这些错误并清理掉.它变得非常快
但是您需要决定是否利用VB6手工编码的任何框架优势.例如.循环一个字符串来定位一个特定的字符现在就像The_String.IndexOf(“c”)一样简单我发现在我的情况下,我经历了几次代码,并且获得了更好和更好的优势(即对象方向)以及我变得舒适的框架好东西,这增加了你的开发时间(见CLIENT了解咒语),但是你的代码将会更有效率,因为它可能在VB6中.您可以简单地将错误移出来,而不是从框架中获得任何优势.
>我没有发现第三方active-x控件的任何问题.您可以添加对FRAMEWORK对象,COM对象等的引用.甚至可能控制供应商具有.Net(托管代码)版本…或者可能有适合的替代方法,因为您在VB6中编写了该事物. (见客户了解口头禅)
所以如果你还在阅读,那么现在我终于会告诉你,VB6中VB.Net转换/ PORTED应用程序的第二次尝试是原来时间到达工作模式的1/3,而且我是学习框架也是如此. (如果你对自己的技能有信心,多年来学到了几种语言,您将很快获得VB.Net的要点 – 它的“SUBTLETIES”需要一段时间.)
我必须提醒你,如果您不明智地告诉客户端了解,那么真的可以杀死你的事情是,如果他们想在你移植的时候进行更改(这是非常喜欢的,因为他们已经使用了一段时间).我在我的情况下也很真实.
这里没有硬而快的规则.这可能是改变实际上将帮助您更快地理解框架,或更改可能是一个真正的痛苦.只有你可以确定他们可能是哪种味道.如果它们看起来是PAINFUL类型,那么您可能会要求首先进行转换,以便可靠地复制功能 – 然后返回并查看代码以进行更改,并根据需要利用框架.但是,正如我所说,这里没有硬而快的规则 – 不要让纯粹主义者不同的告诉你 – 记住他们可能是同样的人说PASCAL将要接管世界!