为什么需要代码完成和早期错误检查 [英] Why code completion and early error checking are needed

查看:57
本文介绍了为什么需要代码完成和早期错误检查的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有些人建议代码完成和改进的愿望

编辑时错误检测表明无法获得这样的程序员需要这些功能的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: http://www.kdevelop.org SuSE: http://www.suse.com

Mozilla: http://www.mozilla.org

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

推荐答案

Steven T. Hatton写道:
Steven T. Hatton wrote:
相信已经评估了对语言的影响。任何人都可以提供一个合理的,客观的理由来解释为什么提议的支持会对C ++产生显着和负面影响吗?
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++?




我认为标准化过程确实如此不这样做。您必须证明该提案会对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


JuliánAlbo写道:
Julián Albo wrote:
Steven T. Hatton写道:
Steven T. Hatton wrote:
相信对语言的影响已经已被评估。任何人都可以提供一个合理的,客观的理由来解释为什么建议的支持会对C ++产生重大和负面的影响吗?
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++?



我认为标准化过程不会那样有效。您必须证明该提案会对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: http://www.kdevelop.org SuSE: http://www.suse.com

Mozilla: http://www.mozilla.org


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


Steven T. Hatton写道:
Steven T. Hatton wrote:
有些人已经建议对代码完成的要求和精确的编辑时错误检测表明程序员想要这些功能的部分能力不足。不幸的是,这些
ad hominem rhetorts经常被引入到关于在C ++中支持这种功能的可行性的纯技术讨论中。这通常有助于将讨论从技术转移到讨论新技术支持者的性质。这最近发生在这个新闻组中,我不得不承认,我接受了诱饵并为我的角色辩护而不是忽视无关的评论。

因为我仍然相信这些功能我列出的对C ++非常重要我正在努力将讨论归结为相关的技术问题。该列表并非详尽无遗,而且
上的任何项目都需要进行改进甚至删除。它只是作为进一步发展思想的起点。这是
列表:
// ---------------------------------- -------------------------
IDE是否会自动添加所需的标题并使用声明来源?
它是否会显示函数调用的异常?

它是否会显示所有重载的函数signture并带有类型的
指示它需要参数?

它是否根据上下文进行过滤?也就是说,当它提供代码完成时,它是否仅显示当前范围内可见的
标识符(除非您要求更多)?

当它显示错误指示符时编辑缓冲区,是编译器输出的结果,还是在输入时评估的代码?

你能否将几乎任何SDK如Xerces C ++添加到可用的
资源并使代码完成和检查工作处于与标准Libraray和实现的API相同的水平? // ------------------------------------------------ -----------
由于对于这些功能是否对C ++有利有疑问,我将简要介绍一下这个问题。我一直在处理一个项目,这个项目已经从我可以下载的东西发展而来,并在1997年的计算技术(sparc
5和P2 intel平台)上建立了几分钟,世界一流的桌面用户界面环境拥有超过40,000行代码。 KDE所有组件的集体库很大。期望程序员了解这些库中每个类和功能的每个功能是不合理的。而且没有考虑到开发人员使用的不同支持库的数量,

我上面列出的功能已经证明对开发人员有用<使用不同的编程语言从事大型项目。为程序员提供了一种更有效和更有效地存储可用资源的方法。

有人建议通过确保C ++实现来支持这些功能。开发环境的必要接口会以某种方式阻碍C ++并使其变得非常有用。因为,据我所知,提供此界面的要求尚未建立,我发现很难相信对语言的影响已被评估。
任何人都可以提供理由,客观的理由为什么
提议的支持会对C ++产生重大的负面影响?
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++?




同样,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


这篇关于为什么需要代码完成和早期错误检查的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆