Если написано на дотнете, то достаточно будет поставить новую версию фреймворка под процессоры с поддержкой SSE 4.2 и сразу получим прирост без всяких перекомпиляций.
На топкодере dirty debug не пройдет ;) Впрочем, я забыл сказать, что сочетал его не только с АСМ, но и с работой девелопером в довольно большой аустсорсинговой компанией.
В интернете полно онлайновых проверяющих систем, на которых можно учится писать простые программы на той же Java. Например acm.timus.ru (http://acm.timus.ru), TopCoder (http://topcoder.com/tc) и многие другие. Ссылки можно найти на Snarknews (http://snarknews.info). Задачи в основном олимпиадные, но сложность их варьируется от элементарных до мегасложных — каждый найдет для себя что-то интересное.
По собственному опыту скажу, что после года на топкодере у меня очень сильно выросла аккуратность и скорость написания кода, я не говорю уже про скорость мышления.
P.S. Извините, похоже из-за отрицательной кармы ссылки у меня не парсятся :(
Спорить можно долго, но MS рекомендует использовать именно такой code convention и сама использует его (например, в МСДН). Кроме того я видел такие рекомендации и в MS C# Coding Standart. Ну а ИМХО такой код читабельнее — доводилось работать с разным форматированием.
Именно так. Программисту дают возможность сделать это, а воспользуется ли он ей — это его дело. Понятно, что перед использованием рефлекшена для такой цели нужно несколько раз подумать и быть готовым к возможным багам. «Правильный» язык должен дать возможность сделать все, что угодно, но при этом при написании кода нужно понимать, что делаешь. К сожалению, пока что никто не придумал язык, на котором мог бы успешно писать совершенно безмозглый человек. А если новичек решил все же залезть рефлекшеном в приватные поля, то нужно ему обьяснить, почему так делать плохо и разобратся, а вдруг использование этого инструмента в даном случае действительно оправдано?
Вот статья на тему:
cylib.iit.nau.edu.ua/Books/ComputerScience/PhilosophyProblem/xprogramming.ru/Articles/LoveUT.html
Вкратце, тестировать нужно каждую функцию проекта (не в смысле «метод», а в смысле «действие»). К примеру мне приходилось работать с системой документооборота, в которой обрабатывались документы типа таможенных деклараций. Для декларации существовала определенная иерархия состояний, которые определяли набор действий, которые можно совершать над декларацией. Например, в состоянии Created автор декларации может вносить изменения в ее наполенение, но декларация не отображается в списке на проверку и ее нельзя заапрувить. В то же время, в состоянии Finalized ее можно заапрувить, но редактировать нельзя. Собственно для проверки соответствия состояний и разрешенных действий был написан юнит тест, который падал, если кто-либо внес изменения в вышеописанную логику.
На примере хабра можно было бы написать тест, который проверяет, что может делать юзер с отрицательным значением кармы, тест, который проверяет, скрывается ли сильно заминусованый коментарий и т. д. и т. п.
Все зависит от масштабов проекта. Если вы пишете сложную систему с навороченной бизнес-логикой и используете паттерн MVC (возможно MVP или нечто аналогично заранее ориентированное на юнит-тесты), то Test Driven Development сэкономит вам кучу времени, нервов и, как следствие, денег на разработку и тестирование. Если код покрыт тестами хотя бы на 80-90% и подключена система автоматического тестирования каждой ревизии проекта в репозитории, практически любая ошибка в бизнес-логике отлавливается на протяжении часа.
У нас на прошлом проекте проблема решалась апгрейд скриптами для БД, которые комитились в репозиторий. Если разработчик решал изменить структуру БД, он писал SQL запрос, который меняет базу, ложил в соответствующую папку проекта под именем типа 20080930.001.sql (имена файлов в таком формате, чтоб скрипты потом выполнялись в порядке добавления в репозиторий). После свн апдейта было достаточно запустить скрипт AfterUpdate.cmd, который запускал все новые скрипты и обновлял локальную БД. Скрипты потом использовались и при деплое новой версии проекта заказчикам.
Давно хочу читалку электронных книг, но психологический барьер цены для меня лежит в районе $200 — больше заплатить могу, но почему-то не хочется. Пока что их можно купить за $300, но надеюсь через годик цены упадут.
Интересно, сколько будет стоить сабжевый девайс?
Надоели уже Хромом. Ну выпустил Гугл свой браузер — честь и хвала ему за это, усиление конкуренции на рынке только улучшает качество продуктов. Но сколько можно обсасывать бета-версию продукта? ИМХО не имеет смысла переходить на Хром, пока не выйдет релиз или хотя бы RC — нервы дороже.
ЗЫ А пресловутая скорость Хрома, между прочим, прямое следствие кадровой политики Гугла при подборе программистов — туда берут только лучших, победителей различных турниров по алгоритмическому программированию, например. Эти люди с детства умеют писать БЫСТРЫЙ софт.
Уважаемый, это же бета. Она для того и сделана, чтоб в ней ошибки находить. Невозможно написать программный продукт такого масштаба сразу и без ошибок — я вам это как разработчик говорю.
«За последние 4 года работал в трех крупных компаниях (>1000 чел), и везде этот самый софт если и использовался, то только после того как его навязали руководителям.»
ИМХО это от компании зависит. Если грамотно провести внедрение и саппортить пользователей, то этот софт резко повышает производительность труда и экономит кучу бумаги =)
«А современные системы управления, учета и тд имеют как правило web-интерфейс, который удобнее всего, ибо к нему всегда можно получить доступ откуда угодно, без танцев с бубнами.»
Вот тут вы правы, я сейчас как раз занимаюсь портированием одной тулзины с Дельфи на АСП.Нет. Но очень много софта все еще написаны под виндовс, и процес перевода всего этого в web-based форму только начался.
Да хоть бы и продукция наших заказчиков: aps-soft.com/
Не забывайте, что основная масса корпоративных пользователей компьютеров — далеко не ІТшники, а всякие юристы, брокеры и т.п. Для них существует море различных специализированных программных продуктов (системмы электронного документооборота, учета финансов и.т.п.), преимущественно под виндовс.
По собственному опыту скажу, что после года на топкодере у меня очень сильно выросла аккуратность и скорость написания кода, я не говорю уже про скорость мышления.
P.S. Извините, похоже из-за отрицательной кармы ссылки у меня не парсятся :(
cylib.iit.nau.edu.ua/Books/ComputerScience/PhilosophyProblem/xprogramming.ru/Articles/LoveUT.html
Вкратце, тестировать нужно каждую функцию проекта (не в смысле «метод», а в смысле «действие»). К примеру мне приходилось работать с системой документооборота, в которой обрабатывались документы типа таможенных деклараций. Для декларации существовала определенная иерархия состояний, которые определяли набор действий, которые можно совершать над декларацией. Например, в состоянии Created автор декларации может вносить изменения в ее наполенение, но декларация не отображается в списке на проверку и ее нельзя заапрувить. В то же время, в состоянии Finalized ее можно заапрувить, но редактировать нельзя. Собственно для проверки соответствия состояний и разрешенных действий был написан юнит тест, который падал, если кто-либо внес изменения в вышеописанную логику.
На примере хабра можно было бы написать тест, который проверяет, что может делать юзер с отрицательным значением кармы, тест, который проверяет, скрывается ли сильно заминусованый коментарий и т. д. и т. п.
Интересно, сколько будет стоить сабжевый девайс?
ЗЫ А пресловутая скорость Хрома, между прочим, прямое следствие кадровой политики Гугла при подборе программистов — туда берут только лучших, победителей различных турниров по алгоритмическому программированию, например. Эти люди с детства умеют писать БЫСТРЫЙ софт.
ИМХО это от компании зависит. Если грамотно провести внедрение и саппортить пользователей, то этот софт резко повышает производительность труда и экономит кучу бумаги =)
«А современные системы управления, учета и тд имеют как правило web-интерфейс, который удобнее всего, ибо к нему всегда можно получить доступ откуда угодно, без танцев с бубнами.»
Вот тут вы правы, я сейчас как раз занимаюсь портированием одной тулзины с Дельфи на АСП.Нет. Но очень много софта все еще написаны под виндовс, и процес перевода всего этого в web-based форму только начался.
Не забывайте, что основная масса корпоративных пользователей компьютеров — далеко не ІТшники, а всякие юристы, брокеры и т.п. Для них существует море различных специализированных программных продуктов (системмы электронного документооборота, учета финансов и.т.п.), преимущественно под виндовс.