tres trabajo resueltos qué proyecto paso para método metodos los hacer flujo ejercicios ejemplo depreciacion deficit consiste como capital calcular caja acumulado ruby code-formatting

ruby - trabajo - flujo de caja pdf



Diseño de directorio para el proyecto puro de Ruby (7)

¿Por qué no usar solo el mismo diseño? Normalmente no necesitarás construir porque no hay un paso de compilación, pero el resto me parece bien.

No estoy seguro de lo que quiere decir con un módulo, pero si se trata de una sola clase, no sería necesaria una carpeta separada y si hay más de un archivo normalmente se escribe un archivo módulo-1.rb (en el nivel de nombre como carpeta module-1) que no hace más que requerir todo en el módulo-1 /.

Ah, y sugeriría usar Rake para las tareas de administración (en lugar de make).

Estoy empezando a aprender ruby. También soy un desarrollador diario de C ++. Para los proyectos de C ++ generalmente voy con la siguiente estructura dir

/ -/bin <- built binaries -/build <- build time temporary object (eg. .obj, cmake intermediates) -/doc <- manuals and/or Doxygen docs -/src --/module-1 --/module-2 -- non module specific sources, like main.cpp - IDE project files (.sln), etc.

¿Qué diseño de directorio para Ruby (no rieles, no Merb) sugeriría para mantenerlo limpio, simple y fácil de mantener?


@ Dentharg : su "incluir uno para incluir todas las subpartes " es un patrón común. Al igual que cualquier otra cosa, tiene sus ventajas (es fácil obtener las cosas que quiere) y sus desventajas (los muchos incluyen pueden contaminar espacios de nombres y usted no tiene control sobre ellos). Tu patrón se ve así:

- src/ some_ruby_file.rb: require ''spider'' Spider.do_something + doc/ - lib/ - spider/ spider.rb: $: << File.expand_path(File.dirname(__FILE__)) module Spider # anything that needs to be done before including submodules end require ''spider/some_helper'' require ''spider/some/other_helper'' ...

Podría recomendar esto para permitir un poco más de control:

- src/ some_ruby_file.rb: require ''spider'' Spider.include_all Spider.do_something + doc/ - lib - spider/ spider.rb: $: << File.expand_path(File.dirname(__FILE__)) module Spider def self.include_all require ''spider/some_helper'' require ''spider/some/other_helper'' ... end end


A partir de 2011, es común utilizar joyero en lugar de newgem, ya que este último está efectivamente abandonado.


Así que fui con newgem. Eliminé todo lo innecesario de RubyForge / gema (azada, configuración, etc.), creé el repositorio git, proyecto importado en NetBeans. Todo tomó 20 minutos y todo está en verde. Eso incluso me dio una tarea básica de rake para archivos de especificaciones.

Gracias a todos.


La estructura central de un proyecto estándar de Ruby es básicamente:

lib/ foo.rb foo/ share/ foo/ test/ helper.rb test_foo.rb HISTORY.md (or CHANGELOG.md) LICENSE.txt README.md foo.gemspec

El share/ es raro y a veces se denomina data/ lugar. Es para archivos de uso general que no sean de rubí. La mayoría de los proyectos no lo necesitan, pero incluso cuando lo hacen muchas veces, todo se guarda en lib/ , aunque probablemente esta no sea la mejor práctica.

El directorio de test/ puede llamarse spec/ si se usa BDD en lugar de TDD, aunque también puede ver las features/ si se usa Cucumber, o demo/ si se usa QED.

foo.gemspec , foo.gemspec solo puede ser .gemspec especialmente si no se actualiza manualmente.

Si su proyecto tiene ejecutables de línea de comando, agregue:

bin/ foo man/ foo.1 foo.1.md or foo.1.ronn

Además, la mayoría de los proyectos de Ruby tienen:

Gemfile Rakefile

El Gemfile es para usar Bundler, y el Rakefile es para la herramienta de compilación Rake. Pero hay otras opciones si desea usar diferentes herramientas.

Algunos otros archivos no tan poco comunes:

VERSION MANIFEST

El archivo VERSION solo contiene el número de versión actual. Y MANIFEST (o Manifest.txt ) contiene una lista de archivos que se incluirán en los archivos del paquete del proyecto (por ejemplo, paquete de gemas).

Qué más puedes ver, pero el uso es esporádico:

config/ doc/ (or docs/) script/ log/ pkg/ task/ (or tasks/) vendor/ web/ (or site/)

Donde config/ contiene varios archivos de configuración; doc/ contiene la documentación generada, por ejemplo, RDoc, o en ocasiones la documentación mantenida manualmente; script/ contiene scripts de shell para uso del proyecto; log/ contener registros de proyectos generados, por ejemplo, informes de cobertura de pruebas; pkg/ contiene archivos de paquete generados, por ejemplo, foo-1.0.0.gem ; task/ podría contener varios archivos de tareas como foo.rake o foo.watchr ; vendor/ contiene copias de los otros proyectos, por ejemplo, submódulos de git; y finalmente web/ contiene los archivos del sitio web del proyecto.

Luego algunos archivos específicos de la herramienta que también son relativamente comunes:

.document .gitignore .yardopts .travis.yml

Son bastante auto explicativos.

Finalmente, .index que personalmente .index un archivo .index y un directorio var/ para compilar ese archivo (busque "Indizador de Rubyworks" para obtener más información al respecto) y con frecuencia tengo un directorio de work , algo así como:

work/ NOTES.md consider/ reference/ sandbox/

Solo una especie de depósito de chatarra para fines de desarrollo.


Me limitaría a algo similar a lo que está familiarizado: no tiene sentido ser un extraño en su propio directorio de proyectos. :-)

Las cosas típicas que siempre tengo son lib | src, bin, test.

(No me gustan estos generadores de monstruos: lo primero que quiero hacer con un nuevo proyecto es bajar un código, ¡no escribir un README, documentos, etc.!)


Puede instalar la nueva gema RubyGem y dejar que genere el diseño para usted.

$ gem install newgem $ newgem spider create create config create doc create lib create script create tasks create lib/spider create History.txt create License.txt create Rakefile create README.txt create PostInstall.txt create setup.rb create lib/spider.rb create lib/spider/version.rb create config/hoe.rb create config/requirements.rb create tasks/deployment.rake create tasks/environment.rake create tasks/website.rake dependency install_test_unit create test create test/test_helper.rb create test/test_spider.rb dependency install_website create website/javascripts create website/stylesheets exists script exists tasks create website/index.txt create website/index.html create script/txt2html force tasks/website.rake dependency plain_theme exists website/javascripts exists website/stylesheets create website/template.html.erb create website/stylesheets/screen.css create website/javascripts/rounded_corners_lite.inc.js dependency install_rubigen_scripts exists script create script/generate create script/destroy create script/console create Manifest.txt readme readme Important ========= * Open config/hoe.rb * Update missing details (gem description, dependent gems, etc.)

Luego, en lib /, crea módulos según sea necesario:

lib/ spider/ base.rb crawler/ base.rb spider.rb require "spider/base" require "crawler/base"