Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Rooster

Программирование, т. 8

  

315 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

я бы на собесе спросил первым вопросом

 

photo-189498.jpg?_r=1538558119

 

choojoykin понравилось это

Поделиться сообщением


Ссылка на сообщение

а ну еще спросили про мавен  :lol:

типа что такое локальный репозиторий я чот не сразу вкурил что по дефолту мавен выкачивает все либы в проект (офк я знал но не подумал почемуто опять же что это дефолт который ты знаешь что оно так есть и не обращаешь внимание) и не сразу ответил

а он чот начал про нексус и я хуйню сморозил  :avtorklif:

 

бтв спор родился после собеса

equals и hashcode 

есть контракт джавы на использование, но никто не запрещает

int hashCode() {
return new Random();
}

:rickroll:

ну вообще-то чуть ли не единственное требование гетхешкода это детерминированность, а ты ее запорол


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

Поделиться сообщением


Ссылка на сообщение

бтв спор родился после собеса

equals и hashcode 

есть контракт джавы на использование, но никто не запрещает

int hashCode() {
return new Random();
}

:rickroll:

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


Лишь ощутив баттхерт до конца, мы обретаем свободу

bf4ffc239860.png

Поделиться сообщением


Ссылка на сообщение

ребят,а что бы вы спросили на собесе у стажёра с# ?


 Amatus#2863

Поделиться сообщением


Ссылка на сообщение

напиши пузырёк


DB: click

Поделиться сообщением


Ссылка на сообщение

анус себе дерни


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

Поделиться сообщением


Ссылка на сообщение

пес

`KV понравилось это

Russia.png.ea080e101222d708d08842dae4ccc684.png USA.png.9b863586cd992fb91bf92ed1de03e4cc.png Israel.png.f27d10a4455f05cd161a8c2c52b8b5e1.png

Поделиться сообщением


Ссылка на сообщение
(изменено)

теперь новое задание - сделать код удобочитаемым и легко понятным + прикрутить как-то ооп
я хз какие сущности в виде гномика выделять и что в них крутиться должно ._.
кому делать нехуй, сделайте ревью плз https://pastebin.com/ij9kLb3K


Изменено пользователем Ramil

javascript:void(0);

Поделиться сообщением


Ссылка на сообщение

ну шо, фотошоп сасат

 

такая анимация занимает около часа на GLSL

 

в живую тут https://www.shadertoy.com/view/lttfR8


 

 

сделать код удобочитаемым и легко понятным + прикрутить как-то ооп
я хз какие сущности выделять и что в них крутиться должно ._.
кому делать нехуй, сделайте ревью плз https://pastebin.com/ij9kLb3K
 

засунь все в отдельные класс/классы по функционалу

Поделиться сообщением


Ссылка на сообщение

так у меня один функционал - считываем строчки файла и парсим

т.е. получится что я просто из мейна перенесу в отдельный класс

и в чем тогда прекл?


javascript:void(0);

Поделиться сообщением


Ссылка на сообщение
(изменено)
и в чем тогда прекл?

 

это прекол ООП, но Java на него насильно садит

 

у тебя на все должно быть по классу

класс поссать с методами поссать_в_унитаз, поссать_в_рот

класс посрать...

класс пожрать...

 

текущий твой код выглядит как

функция жизнь(bool посрать, bool пожрать, bool поссать) 

 

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

и ту тупо пишешь

либа.сделай.меня.богатым

 

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

 

конечно у тебя хеловорд где на это пофик

но тебя заставляют уже с хеловордов "писать правильно" а то будет потом...

-------------------------

по твоему коду:

выкинуть нахуй весь TRY из маин в отдельный класс

addFacts в другой класс, назови класс ГЛАВНЫЙ_ХУЙ

isCorrectFacts тудаже

 

defineExpr и leftExpr в другой класс ВТОРО_ЧЛЕН

 

дальше однотипно сам разберешься

 

и main создает классы и вызывает их методы

красиво и без хуйни


Изменено пользователем hira88
Ramil понравилось это

Поделиться сообщением


Ссылка на сообщение

как-то так надумал: сделать класс Parser, в нем сделать методы getRules, getFacts, а в мейне читать файл построчно и строчки скармливать парсеру

или лучше чтение файла тоже запихать в парсер, а в мейне просто вызвать Parser.getFacts? :hmm:


javascript:void(0);

Поделиться сообщением


Ссылка на сообщение

^я дописал прошлый пост, чекни его еще раз

Ramil понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

так у меня один функционал - считываем строчки файла и парсим

т.е. получится что я просто из мейна перенесу в отдельный класс

и в чем тогда прекл?

у тебя даже на словах 2 действия - читать из файла и парсить, алло

а еще вычислять

а еще выводить результат

 

на самом деле не читать из файла а получать сырые данные (это можно делать откуда угодно, хоть по хттп), потом их парсить по определенной логике/протоколу в объекты

потом это вычисляется (представь что станет задача вычислять триллионы таких экспрешенов, или отдельных файликов и придется это делать на сотнях машин) - тоже в отдельный класс

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

 

 

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


Изменено пользователем Just.Doit
Ramil понравилось это

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

javascript:void(0);

Поделиться сообщением


Ссылка на сообщение
(изменено)

теперь новое задание - сделать код удобочитаемым и легко понятным + прикрутить как-то ооп

я хз какие сущности в виде гномика выделять и что в них крутиться должно ._.

кому делать нехуй, сделайте ревью плз https://pastebin.com/ij9kLb3K

int defExp = defineExpr(line);
if (defExp == 2 && !afterSeparator) {
не юзай магические константы для такого

для этого есть enum который ты потом switch-аешь

 

по остальному тебе уже расписали в принципе, читатель/парсер отдельно, вместо String, String юзай классы


Изменено пользователем TheDeadSkin
Ramil понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

теперь новое задание - сделать код удобочитаемым и легко понятным + прикрутить как-то ооп

я хз какие сущности в виде гномика выделять и что в них крутиться должно ._.

кому делать нехуй, сделайте ревью плз https://pastebin.com/ij9kLb3K

Класс факта. В нем поле литерала и булев флаг факта (да нет)

так же булев флаг undefined (возможно или хз)

 

Потом методы and or принимающие другой факт и возвращающие булев результат (или факт я хз)

Потом фабричный метод implicate возвращающий тоже новый факт (или булеан, хз тоже как лучше)

 

Потом сделать класс хранящий формулы, желательно тоже не как строки, а как какие-то структуры

типо поле result хранит в себе undefined Fact 

и поле до импликации хранящее тоже факты определенные или нет и их булевы связи

 

а ну и тоже флаг solved/unsolved можно сделать, типо если решил пометил и всё, потом в итерациях будешь скипать.

 

Дальше ещё сделать 2 класса парсер и solver 

 

у парсера один или 2 метода, парсинг формул и парсинг фактов.

 

у солвера солвер формул принимающий например массив формул и массив фактов и возвращающий массив новых фактов

 

естественно солвер уже в себе будет содержать функционал работы с методами формул и фактов, там тоже можешь поразбивать на внутренние методы из принципа одно действие описываемое одним глаголом - один метод, из атомарных методов строятся молекулярные, а молекулярные собираются в solve(List<>, List<>).


Изменено пользователем Index
Ramil понравилось это

Поделиться сообщением


Ссылка на сообщение

пиздос (пиз дос)


javascript:void(0);

Поделиться сообщением


Ссылка на сообщение

 


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

контракт это договоренность кожанных мешков

машине похуй какие байтики в нее придут 


:buba:

ни мало ни много, а много и мало

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...