я думаю все важно и то что вы говорите и качество кода и наличие документации, но все это trade-offs. Невозможно всё сразу сделать иедеально, хочешь резльат быстрее будь готов к наличию плохого кода. Хочешь обеспечить будущее, вложи ресурсы в качество. Видимо задача была выйти на рынок как можно скорей и соотвественно качество не так высоко как наверняка в Windows, где каждая строчка кода за десятки лет просмотрена тысячами людей.
Я думаю к этому стоит относиться с большим скепсисом, пришел студент, понятно что ничего толкового и интересного ему никто не даст писать и вот засадили его за то что никто не хочет делать и как резльтат студент страдает и мучается. В итоге рождается список который можно описывает его личную ситуацию и как оно все для него прошло.
Менеджер заложник своих программистов и мечтает найти толковых людей, потому что он от них зависит гораздо больше чем они от него, просто многие этого не понимают. Если программист толковый перейти в другую команду или уйти в другую компанию не составит труда. Менеджер же не обладает возможностью обеспечить всем интересные задачи и хорошие бонусы, потому что это конечныый ресурс и ему постоянно приходится вертеться чтобы и резльтат показывать своему менеджеру и чтобы людей нормальных удержать и заставить работать, а иначе либо проект закроется или умрет в итоге и будет менеджер думать чтобы ему еще такое сделать.
А есть какая-то платформа которая стала стабильной на порядок быстрее? Я такой лично не знаю. Unix сколько уже — лет 40? Mac OS — 30 лет? Я думаю это нормально что сложные вещи занимают много времени чтобы довести их до ума.
насчет 0-day, помоему в Java тоже недавно что-то такое было и ничего, все живы никто не гвоорит что java нельзя доверять, разве не так?
Worldwide sales figures[edit]
Wii – 99.84 million as of 31 March 2013[8]
PlayStation 3 – 70 million as of 4 November 2012[53] (IDC January 2013 estimate: «about 77 million»)[54][55]
Xbox 360 – 74.94 million as of 31 December 2012[56]
у xbox на данный момент дела не плохи и думаю примерно тоже самое и продолжится, нет причин начать терять долю рынка.
1. я не говорю что ваше решение не будет работать, я просто говорю что можно всё проще сделать без использования callbacks которые будут вызываться каждый раз для каждой записи и работать со строками.
работа с интервалами сложная задача если есть временные зоны и високосные года. Номер недели никак не зависит от этого, храните всё в UTC, FirstDayaOfWeek00hours00minute00seconds будет adjustment который будет всё учитывать.
Нет, я не предлагаю делать это в ручную, я говорю о том что в SQLite есть 3 метода хранения дат и использование строк для представления дат не лучший выбор. Куда лучше REAL или INTEGER. Если вам надо сгруппировать что-то по неделям то нет ничего проще, так же можно высчитать какая неделя у даты, если вам надо в зависимости от того в какой Locale используется приложение то можно получить первый день недели и использовать это как adjustment
SELECT ((Date — @FirstDayaOfWeek00hours00minute00seconds) / SecondsInWeek) as Week GROUP BY week ORDER by Week
Не могу с вами согалситься про то что нет разницы, хранить данные как строки и каждый раз их парсить добавляет дополнительные накладные рассходы. Если хранить данные в INTEGER то стандартные ф-ии работы с временем будут отлично работать. Я не специалист в разработке под iphone, но я уверен что есть стандартные объекты для этого. После этого можно пользоваться стандартными методамаи вывода времени с учетом локальных особенностей.
насчет 0-day, помоему в Java тоже недавно что-то такое было и ничего, все живы никто не гвоорит что java нельзя доверять, разве не так?
www.bloomberg.com/news/2013-04-29/microsoft-azure-sales-top-1-billion-challenging-amazon.html
Worldwide sales figures[edit]
Wii – 99.84 million as of 31 March 2013[8]
PlayStation 3 – 70 million as of 4 November 2012[53] (IDC January 2013 estimate: «about 77 million»)[54][55]
Xbox 360 – 74.94 million as of 31 December 2012[56]
у xbox на данный момент дела не плохи и думаю примерно тоже самое и продолжится, нет причин начать терять долю рынка.
people.cs.vt.edu/~scschnei/papers/ismm06.pdf
people.cs.vt.edu/~scschnei/streamflow/
public ReaderWriterLockSlim(LockRecursionPolicy recursionPolicy);
public enum LockRecursionPolicy
{
NoRecursion = 0,
SupportsRecursion = 1,
}
2. Даже если бы не поддерживал, то я говорю об этом
bool isLockHeld = lockObj.IsWriteLockHeld;
if (!isLockHeld)
{
lockObj.EnterWriteLock();
}
try
{
action();
}
finally
{
if (!isLockHeld)
lockObj.ExitWriteLock();
}
при чем тут рекурсия и как она может произойти случайно я не понимаю
2. я это понял
3.
CREATE TABLE [Usage]
(
[FacetId] VARCHAR, — «исполнитель»
[Value ] INTEGER, — полезная «работа»
[Visits ] INTEGER, — затраченная «работа»
[Date ] INTEGER — дата
);
или
CREATE TABLE [Usage]
(
[FacetId] VARCHAR, — «исполнитель»
[Value ] INTEGER, — полезная «работа»
[Visits ] INTEGER, — затраченная «работа»
[Date ] REAL — дата
);
SELECT ((Date — @FirstDayaOfWeek00hours00minute00seconds) / SecondsInWeek) as Week GROUP BY week ORDER by Week
– timeIntervalSince1970
– initWithTimeIntervalSince1970
как раз для этих целей.
www.sqlite.org/datatype3.html