Есть ли язык, который поощряет хорошие практики кодирования? - PullRequest
14 голосов
/ 16 декабря 2009

Хотя я люблю PHP, я обнаружил, что его самая большая слабость в том, что он позволяет и даже почти поощряет программистов писать плохой код.

Есть ли язык, который поощряет хорошие практики программирования? Или, более конкретно, веб-язык, который поощряет передовую практику.

Мне интересны языки, у которых либо заявлена ​​цель поощрения хорошего программирования, либо они разработаны таким образом, чтобы поощрять хорошее программирование.

Ответы [ 25 ]

1 голос
/ 16 декабря 2009

C # несомненно ... хорошая база и постоянно совершенствуется.

1 голос
/ 16 декабря 2009

Да, Python.Многие из его целей разработки предназначены для заявленной цели поощрения хороших методов кодирования.Прочтите руководство по Python и Zen of Python (введите «import this» в приглашении Python).

1 голос
/ 16 декабря 2009

Ассемблер отвечает требованиям «языка, на котором плохие вещи либо активно препятствуют, либо просто затрудняют», - то, что segfault вашей программы во время выполнения является довольно обескураживающим, и написание плохо структурированного веб-программного обеспечения на ассемблере было бы совершенно трудным.

1 голос
/ 16 декабря 2009

Практика кодирования не зависит от языка. Вы можете просто испортить исходный код на любом языке, и то, что является хорошей практикой, субъективно.

Например, в C # на уровне функций вы можете объявить любую переменную с помощью var, и компилятор обеспечит безопасность типов, однако многим людям не нравится var, и они считают, что это усложняет процесс кодирования. Лично я люблю var, особенно когда тип упоминается справа:

* 1005 Е.Г. *

var firstName = новая строка ();

лучше для меня, чем ...

string firstName = new string ();

... потому что почему мне нужно произносить строку firstName, когда я знаю, что это строка, основанная на экземпляре справа? Конечно, еще раз это субъективно.

Стандарты и использование инструментов анализа кода в сочетании с обзорами кода могут действительно изменить ситуацию.

Вот список хороших инструментов анализа: http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

0 голосов
/ 16 декабря 2009

Boo язык по тем же причинам, что и Python.

Может быть, я немного предвзятый ...?

...