Pull to refresh

Comments 20

Быть может так сталось, что эту игру для себя (понастальгировать) пишут прожженые бородачи переключаясь на нее в свободное от кернел-хакинга время. Возраст игры тому косвенное подтверждение.
В чем связь между «кернел-хакингом» и количеством ошибок?
Скорее связь не с «кернел-хакингом», а с «в свободное время». Нет давления «скорее-скорее, некогда думать про ошибки, дедлайн вчера».
Не факт, грубо говоря есть две цели (на самом деле не две, но на этих проще показывать) «написать реально красивый код, чему на работе мешают постоянные делайны» и «получить продукт который давно хотел» и в зависимости от их соотношения количество некритичных ошибок и в целом качество кода могут сильно плавать.

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

Ошибка #1 — не думаю что логическая ошибка, имхо они хотели сделать вот так:

if (i == 0) {
  Chain.push_back(CoastalPoint(indexx,CVector2D(xx*2,yy*2)));
} else {
  Chain.push_front(CoastalPoint(indexx,CVector2D(xx*2,yy*2)));
  CoastalPointsSet.erase(xx + yy*SideSize);
  found = true;
  break;
}

Я посмотрел, что там происходит — обход в глубину для множества прибрежных точек. Соответственно, если мы дошли до точки xx = xx + around[p][0], то мы уже выбрали следующую вершину. Поэтому скобки тут не причём. А наличием if (nbNeighb >= 2), скорее всего, хотелось "почистить" ближайшие точки, как это сделано для стартовой вершины, чтобы много волн не пересекалось рядом.

История игры берёт своё начало с 2000 года. Поэтому в коде встречаются (особенно библиотечного) всякие архаизмы, которые стараемся подчищать. Но в плюсовом коде это происходит медленнее. Небольшая часть этих ошибок уже известна, и патчи ждут конца FF.
ребята в планах есть обжектив с?
После Джавы какие-нибудь планы есть?
(например, было интересно Rust)

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

Java это очень большая задача. Причём не только в плане реализации, но и продвижения, учёте пожеланий первых пользователей и т.д. Пока рано забегать вперёд и думать дальше.
Думаю, не слишком ошибусь в оценке, если скажу, что коммерческого джава-кода минимум в 1000 раз больше, чем кода на расте.

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

Еще они молодцы, потому что игра классная. Ну это так, мелочи.

shared_ptr<u8[]> fileData = shared_ptr<u8>(new u8[fileSize]);

тогда уж

shared_ptr<u8[]> fileData = make_shared<u8[]>(fileSize);

или так
auto fileData{make_shared<u8[]>(fileSize)};
Sign up to leave a comment.