Sep. 17th, 2006

metaclass: (Default)
Что не помешало бы добавить в переводчик Гугла:
1) Выбор контекста перевода - область к которой относится фраза.
2) Несколько вариантов перевода с возможностью попросить юзера выбрать более правильный и дальнейший анализ результатов выбора юзера.
3) Возможная коррекция результатов перевода методом поиска в гугловой же базе и проверки, какой вариант чаще встречается
4) Заставить эту хреновину самообучаться, скармливая ей на вход одни и те же тексты на разных языках.
Интересно, является ли нарушением авторских прав обучение автоматического переводчика на копиях переводных книг :)
metaclass: (Default)
.NET
По правилам написания кода класс с полем, инициализирующемся в конструкторе и свойством, которое дает доступ для чтения этого поля надо писать так:

public class SomeClass
{
private readonly string configMetaID;
public string ConfigMetaID{get{return configMetaID;}}

public SomeClass(string configMetaID)
{
this.configMetaID = configMetaID;
}
}

Достаточно вместо return configMetaID; написать return ConfigMetaID; и получим Stack overflow. А сделать это очень легко, так как используется автодополнение кода. Кроме того, можно забыть написать this. в конструкторе и поле останется не проинициализированным.
Правила кодирования заимствованны из Java, где свойств нету, а есть геттеры и сеттеры, префиксы get и set которых там не дадут устроить переполнение стека из-за ошибки.
Есть вариант обхода - сделать поле public, а свойство выкинуть. Оно все равно readonly, поэтому испортить снаружи его никто не сможет. Но это в чем-то противоречит правилам кодирования - поля делать public - плохой тон.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 02:38 am
Powered by Dreamwidth Studios