Как китайцы кодируют?

Нет, это небезопасно, приведение никогда не безопасно, и оно может взорваться в любое время, когда ваше приложение работает. Хотя SqlConnection действительно вытекает из DbConnection, вам не гарантируется, что database.CreateConnection() вернет SqlConnection, поскольку это может быть параметризовано в файле конфигурации. Кроме того, почему вам нужно привести к SqlConnection? Всегда лучше работать с классами, которые находятся выше в иерархии, чтобы избежать связывания вашего кода с конкретной реализацией, которая сделает ваш код невозможным для тестирования в изоляции.

В то время как EnterpriseLibrary неплохо справляется с абстракцией, вы убиваете всех с помощью этого состава. Также вы должны убедиться, что одноразовые ресурсы всегда располагаются должным образом. Как об этом вместо этого:

Database database = DatabaseFactory.CreateDatabase("connection string");
using (var conn = database.CreateConnection())
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = "SELECT id FROM foo";
    using (var reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {
            // TODO: work with the results here
        }
    }
}

Таким образом, ваш код менее хрупок к изменениям базы данных в файле конфигурации. Ну, конечно, у вас все еще есть этот код SQL, и есть ORM, которые позаботятся о такой ситуации. Они также позволят вам сосредоточиться на реальном домене вашего приложения, вместо того, чтобы тратить время на написание SQL-запросов и приведение от одного поставщика базы данных к другому. Но для простого приложения это нормально.

29
задан Svante 2 August 2009 в 22:02
поделиться

6 ответов

Я поддерживаю корейский IME (редактор методов ввода) для Microsoft Windows и Office. Поэтому я ежедневно работаю с корейскими разработчиками, с японскими разработчиками - регулярно, а с китайскими - время от времени. Все мы пишем на C / C ++.

Я больше всего знаком с кодом корейского IME. Есть несколько мест с комментариями на корейском языке (хангыль), где это абсолютно необходимо, но даже большинство комментариев на английском языке.

Это может быть связано с тем, что мы международная компания, поэтому нам всем нужно общаться на общем языке. . Даже электронные письма обычно отправляются на английском языке. Однако, когда я устно разговариваю со своими корейскими коллегами, я почти всегда говорю по-корейски.

Хотя зарезервированные слова C / C ++ также являются «английскими» словами, они имеют свое собственное очень специфическое значение и в конечном итоге становятся частью языка. это даже не совсем "

18
ответ дан 28 November 2019 в 01:54
поделиться

Большинство широко используемых языков основаны на английском, и большинство из них предназначены для международной аудитории. В некоторых странах действительно есть свои собственные персонализированные / локализованные языки программирования. Вот список некоторых из них: Википедия: Неанглийские языки программирования

Похоже, есть версия BASIC под названием Chinese Basic. Я был бы удивлен, если бы он использовался в том же масштабе, что и другие широко используемые в настоящее время языки :)

0
ответ дан 28 November 2019 в 01:54
поделиться

Зачем им использовать какие-либо другие инструменты, как мы? Я сам немец и тоже не программирую на немецком. Но хороший вопрос.

Программа t также на немецком языке. Но хороший вопрос.

Программа t также на немецком языке. Но хороший вопрос.

5
ответ дан 28 November 2019 в 01:54
поделиться

В материковом Китае, по крайней мере, практически каждый человек в возрасте, чтобы получить работу по программированию, уже знает пиньинь - версию своего языка, встроенную в наш алфавит. Кроме того, вы должны знать это, чтобы вводить что-либо в компьютер, поскольку именно так работает редактор ввода.

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

3
ответ дан 28 November 2019 в 01:54
поделиться

В моей команде два носителя китайского языка - я спрошу их лично во вторник, если к тому времени вы не получите хорошего ответа, но вот мое первое предположение.

Код написан на стандартных языках программирования, хотя комментарии (и, возможно, имена переменных) могут быть написаны на китайском языке. Нет смысла заново изобретать колесо (где «колесо» - это C ++, Perl, Python и т. Д.), Когда можно просто выучить несколько ключевых слов.

2
ответ дан 28 November 2019 в 01:54
поделиться

Чтобы ответить на заданные вопросы: по большей части они кодируют на «английском» (то есть они кодируют на той же версии языков программирования, которые используются в США, с английским на основе ключевых слов и так далее). Однако есть некоторые языки программирования, которые в разной степени обслуживают китайский язык. Как заметил один из комментаторов, ChinesePython - один из них.

Однако я думаю, что усилия по программированию - это нечто большее, чем просто создание исходного кода. С точки зрения человека, который жил в Шанхае в течение многих лет и работал с программистами в то время, я думаю эта статья в блоге чрезвычайно хорошая.

Для дальнейших ссылок на Stack Overflow, не обязательно о китайцах в частности:

(Удаленные сообщения не видны пользователям с менее чем 10000 респондентов)

Также , о Software Engineering SE (ранее Programmers SE):

7
ответ дан 28 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: