问题描述
有些人建议代码完成和改进的愿望
编辑时错误检测表明无法获得这样的程序员需要这些功能的b
。不幸的是,这些ad hommm
rhetorts经常被引入纯粹的技术讨论中,讨论在C ++中支持这种功能的可行性。通常会将讨论从技术主题转移到讨论新技术支持者的
字符。这最近发生在这个新闻组的这个新闻组中,我不得不承认,我接受了诱饵并为我的
角色辩护而不是忽略无关的评论。
因为我仍然认为我列出的功能对C ++非常重要,所以我正在努力将讨论归结为相关的技术问题。
列表并非详尽无遗,其上的任何项目都需要进行细化甚至删除。它只是作为
进一步发展思路的起点。这是再次列表:
// ---------------------------------- ------------------------- **
IDE是否会添加所需的标题并使用声明来源
自动?**
是否会显示函数调用抛出的异常?**
它会显示所有重载的函数signture,并指示它需要参数的类型吗?**
它是否根据上下文进行过滤?**当*提供代码完成时,* * * * * * * *仅显示*当前范围内可见的
标识符
(除非您要求更多)?
当它在编辑缓冲区中显示错误指示符时,是否是
编译器输出的结果,或者是在输入时评估的代码?
您可以将几乎任何SDK(如Xerces C ++)添加到可用的
资源中,并将代码完成并在同一级别检查工作
as它适用于标准Libraray和实现的API吗?
// ----------------------- ------------------------------------
从那以后关于这样的功能是否对C ++有利,是一个问题,我将简要地讨论这个问题。我已经使用了一个项目,这个项目已经从我可以下载的东西中发展出来,并且在1997年的计算技术(sparc 5和P2 />
英特尔平台),一个世界级的桌面用户界面环境,带有超过40,000行代码的
。 KDE所有
组件的集体库都很庞大。期望程序员
了解这些
库中每个类和函数的每个功能是不合理的。并且没有考虑到开发人员使用或可能雇用的不同支持库的数量。
我上面列出的功能已经证明对于使用不同编程语言的大型项目工作的开发人员非常有用。为程序员提供了一个高效且有效的可用资源的方式。
有人建议努力通过
支持这样的功能,确保C ++实现为
开发环境提供必要的接口,以某种方式阻碍C ++并使其成为
显着不太有用。因为据我所知,提供这个界面的要求还没有确定,我发现很难相信对语言的影响已经被评估了。任何人都可以提供理由,客观的理由,为什么建议的支持会显着地对C ++产生负面影响?
-
STH
哈顿定律:只有一个不可侵犯的法律
KDevelop: SuSE:
Mozilla:
Some people have suggested the desire for code completion and refined
edit-time error detection are an indication of incompetence on the part of
the programmer who wants such features. Unfortunately these ad hominem
rhetorts are frequently introduced into purely technical discussions on the
feasibility of supporting such functionality in C++. That usually serves
to divert the discussion from the technical subject to a discussion of the
character of the proponent of the new technology. This recently happened in
this newsgroup, and I have to confess, I took the bait and defended my
character instead of ignoring the irrelevant comments.
Since I still believe the features I listed are important to C++ I am making
an effort to return that discussion to the relevant technical matters. The
list is not intended to be exhaustive, and any item on it is subject to
refinement or even removal. It is only intended as a starting point for
further development of the ideas. Here is the list again:
//-----------------------------------------------------------**
Will the IDE add the required headers and using declarations to your source
automatically?**
Will it give an indication of the exceptions thrown by a function call?**
Will it display all the overloaded function signture with an indication of
the type of parameter it takes?**
Does it filter according to context?**That*is,*does*it*only*show*the
identifiers visible in the current scope when it provides code completion
(unless you ask for more)?
When it shows error indicators in the edit buffer, is that a result of
compiler output, or is the code evaluated as you input it?
Can you add virtually any SDK such as the Xerces C++ to the available
resources and have the code completion and checking work at the same level
as it does for the Standard Libraray and the implementation''s API(s)?
//-----------------------------------------------------------
Since there is some question as to whether such functionality would be
advantageous to C++, I will briefly address the matter. I have been
working with a project that has grown from something I could download and
build in a matter of minutes on 1997 computing technology (sparc 5, and P2
intel platforms), to a world class desktop user interface environment with
more than 40,000 lines of code. The collective libraries for all the
components of the KDE is huge. It is unreasonable to expect a programmer
to be aware of every feature of every class and function in these
libraries. And that fails to take into account the number of different
supporting libraries employed, or potentially employed by the developer.
The feature I have listed above have proven useful to developers working on
large-scale projects using a different programming language. The provide a
way for the programmer to leaverage the available resources more
efficiently and effectively.
It has been suggested that an effort to support such functionality by
ensuring the C++ implementation provides the necessary interface to the
development environment would somehow encumber C++ and make it
significantly less useful. Since, so far as I know, the requirements for
providing this interface have not been established, I find it difficult to
believe the impact on the language has been evaluated. Can anybody provide
a reasoned, objective rationale for why the proposed support would
significantly and negatively impact C++?
--
STH
Hatton''s Law: "There is only One inviolable Law"
KDevelop: http://www.kdevelop.org SuSE: http://www.suse.com
Mozilla: http://www.mozilla.org
推荐答案
我认为标准化过程确实如此不这样做。您必须证明该提案会对C ++产生重大影响。
-
Salu2
I think the standarization process does not work that way. You must prove
that the proposal will significantly and positively impact C++.
--
Salu2
我认为标准化过程不会那样有效。您必须证明该提案会对C ++产生重大影响。
I think the standarization process does not work that way. You must prove
that the proposal will significantly and positively impact C++.
我的问题与标准化过程无关。
-
STH
哈顿定律:只有一个不可侵犯的法律
KDevelop: SuSE:
Mozilla:
My question was not about the standardization process.
--
STH
Hatton''s Law: "There is only One inviolable Law"
KDevelop: http://www.kdevelop.org SuSE: http://www.suse.com
Mozilla: http://www.mozilla.org
同样,C ++已经在其声明中提供了这样的功能。 IDE使用该信息已经上涨了
,并且/ language / standards不应该指定IDE功能。
- Pete
Again, C++ already provides such functionality in its declarations. It''s up
to the IDEs to use that info, and the /language/ standards should not
specify IDE features.
- Pete
这篇关于为什么需要代码完成和早期错误检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!