gameoflife's People
gameoflife's Issues
Обработчики событий должны быть в controller
Перенести из view, например, $('#nextButton').on("click"...
и тд
2. webpack - package.json
- оформи запуск сборки в виде скрипта в package.json, чтобы можн было там срау увидеть команду и запустить что то вроде npm run start
1. webpack - package.json
- Сделать нормальный package.json, куда положить все зависимости включая вебпак и лоадеры например. В идеале клиентские либы тоже туда выенсти, кка jquery
Убрать костыль с копирование объекта
Есть более красивые способы глубокого копирания, и самый главный - использовать функции библиотек :) К примеру, такой метод есть у jquery
Этот код надо убрать JSON.parse(JSON.stringify( field ))
Отрефакторить countField
При рефакторинге проекта по стандартам этому методу уделить особое внимание, сейчас он особенно нечитаем :)
Весь функционал одной клетки перенести в Dot
Ты правильно сделал, выделив одну клетку в отдельный класс, только пожалел для него функционала :)
Например, начальное определение, жива она или нет, можно там сделать.
Изменение статуса тоже лучше в метод класса Dot вынести, а не менять свойсто status напрямую внутри dotStatus.
И еще - лучше использовать слово Cell, а не Dot :)
3. webpack - only export and import
- Не используй глобальных переменных с вебпаком (если не либа, клоторая по другому не работает, а jquery например нормально импорты/экспорты поддерживает) - все теперь только экспортируй и импортируй
5. webpack - es6
- Попробуй es6 :) там фич с гулькин нос - за полчаса пробежишься, мы его все равно почти везде используем сейчас. И импорты в новом формате можешь сразу писать)
Создавать клетку в отдельном методе
И сделать это лучше отдельными методами для установки айди, добавления класса и тд.
Код "<td id='row" + field[i][j].x + "_col" + field[i][j].y + "' class='" + status + "'></td>"
слабочитаем
Состояние игры читать не из текста кнопки
А из модели. Это очень плохая практика такую важную вещь, как состояние стартована игра или нет, хранить в тексте кнопки :)
Убрать из моделей работу с DOM
У тебя как минимум вызывается
$('#randomFill').is(':checked')
внутри моделей
6. webpack ignore node_modules
- Заигнорь node_modules
4. webpack - отдельная папка
- Сделай папку с результатами сборки отдельно от сорцов
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.