Pull to refresh
3
0
Данил Чижиков @joe_krelli

C# / Unity Developer

Send message

Да, конечно, смотри личные сообщения, написал туда.

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

Возможно из за правила о запрете прямой рекламы, честно, сейчас пальцем в небо тыкнул )

Ну вообще то, компания хранит исходники psd на облаке, где ssd не нужен и как правило, покупается два диска по n гб, так как ставятся они в зеркало.

SSD не лучшая практика использования для хранения файлов, так как если с ним, что то случится, то уже не восстановить, по этому на серверах стоят быстрые харды, а вот на компах сотрудников уже ssd.

А так как один сотрудник может работать над несколькими проектов сразу, то каждому покупать по ssd за 20к? Очень оптимально.

Давай посмотрим сколько сейчас стоит MacBook на 1tb ssd, ой, а что так дорого? А если компании нужно обеспечить нескольких работников такими MacBook ?

Да, есть windows, но на windows не собрать билд под iOS.

Это оптимизация расходов называется.

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

Лично мне, как программисту, psd в проекте не нужен, мне не платят за владения фотошопом ( а ведь еще на каждого сотрудника кто использует его, нужна лицензия, ой, снова деньги ), есть арт отдел, который прежде чем, что то отдать в проект, проходит кучу проверок и подтверждения от лидов. Как правило, как и что должно попадать в проект, очень хорошо за документировано в плоть, до соотношения сторон.

А там в правилах написания статей, вроде сказано, что низя просто видео вставлять и не писать пост )

Думаю если бы можно было, то он бы так и сделал

Отличный способ раздуть размер проекта и заставить компанию платить за новые ssd, а потом при необходимости выкачивать проект пол рабочего дня!

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

Вот Build Report ну и в Memory Profile вроде все норм

Build Report
Uncompressed usage by category (Percentages based on user generated assets only):
Textures 4.5 mb 95.7%
Meshes 0.0 kb 0.0%
Animations 0.0 kb 0.0%
Sounds 0.0 kb 0.0%
Shaders 14.2 kb 0.3%
Other Assets 2.3 kb 0.0%
Levels 0.0 kb 0.0%
Scripts 158.3 kb 3.3%
Included DLLs 0.0 kb 0.0%
File headers 33.9 kb 0.7%
Total User Assets 4.7 mb 100.0%
Complete build size 75.0 mb
Used Assets and files from the Resources folder, sorted by uncompressed size:
1.6 mb 2.1% Assets/Content/Heart_PSD.psd
1.6 mb 2.1% Assets/Content/Heart_PNG.png

Build Report не прикладывается, для пруфов ?

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

Ммм psd на прямую в юнити ( вот они, избалованное поколение большим кол-во памяти на устройстве )

Мм публичные поля, забиваем на инкапсуляцию, а о разделении бизнес логики и логики отображения, я совсем промолчу.

P.S Да, автор сказал, что он не программист с 10 летним стажем, но даже джунов от такого кода уже отучивать не приходится.

P.S.S Ну и писать статью с обучением как делать и учить делать плохо, это не есть хорошо.

Да, все верно, опять же это написано в "Чистом коде", что если получается так, что аргументов больше 3, то лучший вариант запечатать их в другую сущность, так по своей сути работает gRPC, там для передачи данных в метод для сервера, они упаковываются в реквесты, а сервер возвращает респонсы.
Но если мы работаем локально, то для оптимизации памяти, лучше упаковать в структуру, так как она была придумана как раз для данных.

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

Книга в 300 страниц не из-за большого кол-во текста, а из-за формата в A5 и большого шрифта, так же в электронном варианте есть страницы с 0-5 строчками.

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

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

Есть вещи которые уже устоявшиеся и они как правило записаны в code conventions компании и с ними бесполезно спорить, потому что так уже тупо принято и ты должен подстроиться под это, но всегда можно попробовать оспорить, если у тебя есть весомые аргументы.

Вот один из примеров, как можно обезопасить себя, от возвращения null

internal class NotReturnNullExample
{
    private readonly Dictionary<string, Data> _dataMap;

    public NotReturnNullExample()
    {
        _dataMap = new Dictionary<string, Data>();
    }
    
    public TData GetData<TData>(string key) where TData : Data, new()
    {
        if (!_dataMap.TryGetValue(key, out Data data) || data is not TData genericData)
        {
            genericData = new TData();
        }
        
        return genericData;
    }
}

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

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

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

Ну значит вас это устраивает, иначе бы не работали там, работу выбирают, а не наоборот

Значит вы очень хороший специалист для ЕС, а здесь не такой хороший или еще куча факторов. По поводу не ездить в офис, работаю полностью удаленно в РФ, тут сейчас с этим проблем нет, только если какие то консервативные компании, но никто не заставляет в них работать, так же по больничным, просто пишу, что плохо себя чувствую и отдыхаю с сохранением денег за эти дни. Опять же, не везде так, это правда, но всегда можно поменять место работы, если не устраивают условия труда. Для примера, в Ubisoft (Франция) дикая переработка и слежка за тем, что человек делает в рабочие часы, так что если захочу, я и к столбу с этими аргументами прикопаться смогу

1

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Game Developer
Senior
From 200,000 ₽
Git
Docker
CI/CD
C#
Game Development
Unity3d
Unix