ПредишенСледващото

10-те най-често срещаните грешки на Java програмисти

Какви грешки е по-вероятно да се случи в тези нови за програмиране? Може би те винаги обърка равенство (==) със задача (=), или с , Алтернативно, те могат да използват неподходящи сепаратори цикъл за (за (INT I = 0, т.е. <5, i++) )?

За да отговорим на този въпрос, учените изследват грешките са повече от 250 000 на Java начинаещи от всички краища на света. С помощта на голямо количество данни (сорс кода на повече от 37 милиона компилации, за да бъдем точни), те идентифицират най-честите грешки студенти първи изследвани Java. Те също така, колко време отне да учат своите грешки. Резултатите бяха потресаващи.

Проектът за събиране на данни Blackbox

Изучаването на нов език за програмиране - винаги е предизвикателство, защото трябва да се научат да изразяват своите сложни мисли, използвайки ограничен, официална граматика. Естествено, много начинаещи допуснали грешка по време на програмирането. За да се хвърли светлина върху това, което грешки често правят новодошлите, изследователи от Университета на Кент (UK) преглеждат кода, който е съставен почти 265 хиляди студенти по целия свят.

Събирането на данни Blackbox на проект, наречен е базиран на BlueJ, безплатна Java IDE, предназначени специално за начинаещи. BlueJ се опитва да премахне пречките пред успеха за начинаещи, например, се подчертава в началото и края на код блок. Това го прави по-лесно за студентите обработват визуалната сканиране вашия код за допълнителни скоби. Друга особеност на IDE - възможно ли е да се провери обекта директно по време на изпълнение. По този начин, тя помага да разберем принципите на програмата, както и за отстраняване на грешки.

10 от най-често срещаните грешки на нови Java-програмисти

AlTadmri и Браун са били изненадани да открият, че грешките, които експерти и учители считат за най-често срещаните, които наистина не са.

Това може да е опасна тенденция, те казаха, тъй като повечето от тези грешки са покрити и обичан дори в учебниците.

В. небалансирани скоби, скоби или кавички, както и използването на тези знаци алтернативен пример: време (а == 0].

I. Calling методи с невалидни видове или аргументи аргумент, например: list.get ( "ABC").

О. поток контрол може да достигне края на не-невалидни метод без връщане, например:

А. оператор задача объркване (=) и сравняване (==), например: ако (а = Ь).

Н. игнориране или изхвърляне стойността връщане на метода с не-невалиден тип връщане, например: myObject.toString (); ,

Б. Използване == вместо .equals за сравнение струни.

М. опит да се обади не-статичен, така че ако е статичен метод, например: MyClass.toString (); ,

Р. Опитвайки клас за изпълнение на интерфейса, но липсата на прилагане на всички необходими методи, например: клас Y прилага ActionListener <> .

параметри P. Контактни тип когато наричат ​​метод, например: myObject.foo (междинно съединение X, String S); ,

Е. неправилно разположение на запетаи в условия, ако. както и за линии и време. например: ако (а == б); върне 6; ,

Най-често срещаната грешка - С (забравени скоби грешки в тяхното подреждане) - е точно това, което се опитва да се противопостави на BlueJ, използвайте осветлението. Този извод може да е индикация, че грешка от тип C ще бъде още по-вероятно да се случи в IDE, която не предоставя никакви инструменти за отстраняване на грешки.

Изненадващо, следните грешки не са били включени в топ 10:

Г. Объркване използването на операторите за "късо съединение" ( и || ) И конвенционални оператори логически ( и | ).

J. Липса скоби след извикването, например: myObject.toString; ,

задача Р. променлива стойност с тип несъвместима с типа на променлива, например: Int х = myObject.toString (); ,

F. Неправилни сепаратори за цикъл (вместо използването на запетая запетая), например: за (INT I = 0, т.е. <6, i++) .

З. Използване на ключови думи и имената на променливите или техники, като например: вътр нов; ,

Колко време на проучването от грешките си

В допълнение, когато Браун и AlTadmri учи колко време е необходимо студентите да се фиксира бъг, стана ясно, че най-често срещаните грешки (С) е и един от най-bystronahodimyh. Други грешки са по-трудни за намиране. Сред тези грешки е имало объркване сред операторите и | или и || (Грешка D), използване == вместо .equals за сравнение струни (грешка Б) и се изхвърля или игнориране на върнатите стойности на метода на не-нищожен вид връщане (грешка N). Те останаха незабелязани в продължение на повече от 1000 секунди (след което проследяването няма продължава), или не са били открити на всички времена.

Средното показващ корекция съотношение време (времето за да се определи), е показано по-долу.

10-те най-често срещаните грешки на Java програмисти

Свързани статии

Подкрепете проекта - споделете линка, благодаря!